SQL Injection-Http请求的参数中对特殊字符的处理

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
posted @ 2017-11-21 10:00  youreyebows  阅读(554)  评论(0编辑  收藏  举报