1、背景:最近学习webgoat到了SQL Injection的这一课,要完成这一课需要拦截Http请求,修改参数,不过在修改的参数中加入特殊字符才能完成。下面让我们一起来学习吧。

2、题目:

  大致翻译一下题目:使用SQL注入的方式绕过认证。使用SQL注入的方式登录boss的账号Neville,而不是用正确的密码。验证Neville的档案可以被浏览,所有的功能都是可用的。(这些功能包括查询、创建和删除)

3、可是我怎么知道Neville的密码?......题目说了是SQL注入。那我们就开始吧。

①password绝大多数都是以字符串的形式存储的,所以这里肯定是字符串注入。注入的形式一般是  test' or '1'='1    此时就遇见了需要在Http请求参数中写特殊字符

②随便找一个输入框,输入以上的内容,然后向服务器发送请求,看见了编码后的参数, test%27+or+%271%27%3D%271

4、查阅资料,发现规律是%+ASCII码。现在就把我用到的总结如下【随时更新,欢迎补充】

特殊字符     编码
空格 +
单引号
%27
等号
%3D

SQL Injection-Http请求的参数中对特殊字符的处理的更多相关文章

  1. ajax请求在参数中添加时间戳

    ajax请求在参数中添加时间戳 参考网址

  2. http请求参数中包含特殊字符的严重后果,比如:#

    URL请求中不能包含特殊符号,比如:# 今天在调接口,突然发现接口参数中传递的数据没有完全接收到controller层的model模型中,反反复复测了好几遍,真不信这个邪了,头晕脑胀的时候才关注到UR ...

  3. ajax请求参数中含有特殊字符"#"的问题 (另附上js编码解码的几种方法)

    使用ajax向后台提交的时候 由于参数中含有#  默认会被截断 只保留#之前的字符  json格式的字符串则不会被请求到后台的action 可以使用encodeURIComponent在前台进行编码, ...

  4. 在请求的参数中设置可选值列表为当前职责可访问的所有OU

    方法一: 实现此需求的前提之一是为该请求开启多业务实体访问,开启方法 系统管理员->系统管理->并发->程序,进入OAF页面,查询你的并发,然后点更新,选择请求,在业务实体模式下选择 ...

  5. PHP获取不到url传递参数中#&等特殊字符解决方法

    有些符号在URL中是不能直接传递的,无法传入PHP处理,比如#&等符号,通过$_GET是获取不到的,比如一个域名https://localhost/url.php?url=yangyufei+ ...

  6. XSS工具类,清除参数中的特殊字符

    package com.xss; import java.util.regex.Pattern; /** * XssUtil 工具类 */ public class XssUtil { static ...

  7. java 发送post请求参数中含有+会转化为空格的问题

    如题 原因分析:参数在传递过程中经历的几次编码和解码标准不同,导致加号.空格等字符的错误. 解决方案:将post请求的参数中 ,含有+号的,统统采用%2B 去替换,这是URL的协议问题.

  8. PHP+MYSQL网站SQL Injection攻防

    程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程:他们会先尝试着让程序报 ...

  9. HP+MYSQL网站SQL Injection攻防

    WebjxCom提示:程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程: ...

随机推荐

  1. 使用Python+turtle绘制同心圆

    问题描述:数学定义上是指:同一平面上同一圆心而半径不同的圆.简单来说就是:圆心相同半径不同的圆,如果几个圆的圆心是同一点,那么这几个圆就叫做同心圆. 本文使用turtle绘制一个类似“箭靶”的同心圆. ...

  2. redis基本数据结构

    redis5中数据类型

  3. flask sqlchemy 多对多的自引用关系定义

    多对多的定义可以使用关联表,或者重新定义一个模型,通过模型定义多对多的自引用在flask web开发书里有讲到,这里主要演示用关联表定义的方法. from flask_sqlalchemy impor ...

  4. 如何能快速的成为一个年薪20万的Java程序员,你都需要具备哪些技术?史上最全的java学习路线!

    看好了,绝对不是单纯的初级视频,一个朋友在某机构学习,把每天老师讲课的视频代码和笔记全部整理出来了,需要的抓紧时间联系我! 一级目录截图   其中还包含时下最火的分布式和外服务的技术哦,请看07和08 ...

  5. 多个Gesture响应原理

    默认情况下,一个响应链上只能响应一个Gesture,不过每个Gesture都可以设置一个delegate,当某个gesture的代理方法shouldRecognizeSimultaneouslyWit ...

  6. 执行makemigrations后错误集锦

    在项目配置xadmin后,执行python manage.py makemigrations后出现了很多问题: 1.ModuleNotFoundError: No module named 'futu ...

  7. ssl简介与openssl的使用

    SSL证书:  是数字证书的一种,类似于驾驶证.护照和营业执照的电子副本.因为配置在服务器上,也称为SSL服务器证书. ssl也是传输协议. 基于ssl协议开发的一款软件叫openssl linux系 ...

  8. css预处理器:Sass LASS Stylus

    语法 Sass h1 { color: #0982C1; } h1 color: #0982c1 LESS h1 { color: #0982C1; } Stylus /* style.styl */ ...

  9. fiddler抓取https请求

    Fiddler抓取https设置详解(图文):https://www.cnblogs.com/joshua317/p/8670923.html Fiddler要抓取到https请求我们还需要Fiddl ...

  10. c#遍历一个对象中所有的属性和值

    SpDictItem sp = GetCFHObject.GetSpItem("); PropertyInfo[] propertys = sp.GetType().GetPropertie ...