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

Posted __你的眉宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于SQL Injection-Http请求的参数中对特殊字符的处理的主要内容,如果未能解决你的问题,请参考以下文章