
Web渗透中的SQL注入,我们已经讲解了N种注入方法,今天我继续帮你们实战讲解“宽字节”注入!
学习更多Web黑客渗透,可以订阅我的专栏《从新手到Web白帽黑客》!
什么是宽字节注入?
简单的理解就是:目标网址的参数使用了数据库转义,比如我们可以在参数后面添加%df,再添加单引号,由于单引号会被数据库的反斜杠"\"自动转义,而这个"\"本身的编码是%5c,这样就形成了%df%5c',而在GBK编码中,%df%5c就是繁体字"连"!这就会导致添加的单引号成功逃逸,从而引起SQL数据库的错误!

宽字节,指的就是繁体字!
宽字节注入实战
这里我们自己准备宽字节注入的php测试文件,下图!订阅《从新手到Web白帽黑客》专栏后,可以请去我们的本课专栏资料库将这个kuanzj.php文件放在win7的C:\\wamp\www\sql下,其实就是一个类似的网站页面!

源码如下:

上面的kuanzj.php文件访问地址是:
192.168.31.16/sql/kuanzj.php
通过火狐浏览如下!

开启Burp,拦截抓包如下:

发送到重发器:
...根据源码,下面的响应直接将数据库的回显打在页面上,说明我们可以通过联合注入,那么来试试添加单引号,看是否能引起报错!
惊讶的是页面没有因为单引号报错,因为源码中使用了函数addslashes()进行了转义处理。也就是说单引号被数据库的反斜杠给自动转义了,当作一个普通字符\'完成闭合处理了,所以你看到'1\''以及用户名Dumb的正常输出!我们添加的恶意单引号并没有成功逃逸形成报错!咋办?
...这里就需要用到宽字节注入来试试了!
在id=1后面添加宽字节的格式%df,然后添加单引号,我们来看看响应!
...竟然成功得到了报错!
原理是:%df和数据库中的转义反斜杠\(编码是%5c)合成在一起变成了繁体字"连",而后面添加的单引号就无法被数据库转义,从而成功逃逸,形成报错!
那么我们接下来可以在后面添加查询语句1=1,并在最后再添加注释符号%23(#号)完成单引号闭合,看看是否存在sql注入!
访问:
...发现页面正常,我们再来修改下1=2:
...发现报错,说明id=1,一定存在sql注入!
到此我们已经使用了宽字节注入找到了id参数存在sql注入,接下需要结合联合注入一起来获得数据库数据!
宽字节注入+union联合注入获取数据库
使用order by 1-99,判断当前表的字段!刚开始大一点判断。
如图,页面不正常!字段数肯定小于4!
...于是,我们使用3判断!
如下图,发现返回页面正常,说面当前数据库表的字段一定是3个!
...使用union联合注入的查询语句:
union select 1,2,3
但是为了让页面返回union返回的结果,我们需要将id改成不存在的-1:
192.168.31.16/sql/kuanzj.php?id=-1%df'+union+select+1,2,3%23
下面显示2:3,说明该页面中2和3的位置中间可以使用任意sql查询语句,有注入!
...比如我们可以在2和3的位置获取数据库名!
http://192.168.31.16/sql/kuanzj.php?id=-1%df'+union+select+1,database()3%23
显示数据库是"security"!
...继续获取第一个表的名字!
192.168.31.16/sql/kuanzj.php?id=-1%df'+union+select+1,(select+table_name+from+information_schema.tables+where+table_schema=(select+database())limit+0,1),3+%23
上面的查询使用了嵌套查询,(select+database())获取的就是'sql'。
发现第一个表名是emails!
...获取该表名下的第二个字段:
192.168.31.16/sql/kuanzj.php?id=-1%df'+union+select+1,(select+column_name+from+information_schema.columns+where+table_schema=(select+database())+and+table_name=(select+table_name+from+information_schema.tables+where+table_schema=(select+database())limit+0,1)limit+1,1),3%23
很长,两层嵌套,去数据库security,第一张emails表中查找第二个字段,如下图,显示email_id!
...到此,我们已经完成了使用宽字节注入+union联合注入合作的方式获取了数据库数据,有点难,一定要仔细学习,慢慢消化!加油!
小白嘿客我想说
更多网络安全、白帽嘿客kali入门到实战,可以订阅下方@小白嘿客的专栏学习!
如果想和更多网络安全爱好者一起交流学习,获得更多嘿客干货,加入下方《网络安全训练营》圈子吧!
关注@小白嘿客!