如何使用SQLMap绕过WAF

哇,说起WAF,这个东西现在确实有很多公司在用。
我觉得我可以坐下来放松一下。
说实话,我当时不太明白。
这真的有那么好吗?结果我一问,哎,其实不是这样的。
例如,有人想出了如何使用SQLMap来绕过WAF,这有点有趣。

我看到过有关使用 SQLMap 欺骗脚本绕过 WAF/IDS 的信息。
这个工具相当先进。
例如,您可以从 svn https://svn.sqlmap.org/sqlmap/trunk/sqlmap/sqlmap-dev 下载最新版本的 SQLMap。
听起来有点令人困惑,对吧?
那么关键点就是使用伪造的脚本来修改请求,这样你就可以绕过WAF检测。
例如,我之前尝试使用两个脚本 space2 hash.py 和 space2 morehash.py。
他们会将空格转换为随机注释,这将使 WAF 难以检测到。
space2 morehash.py 脚本的另一个优点是它还可以“打乱”方法函数,使 WAF 更难确定。

例如,如果输入 1 AND 9 2 2 7 =9 2 2 7 ,则输出将变为 1 %2 3 PTTmJopxdWJ%0AAND%2 3 cWfcVRPV%0A9 2 2 7 =9 2 2 7 你看,多么复杂,WAF无法理解。

然后可以使用命令行调用这些脚本,如 ./sqlmap.py -u http://1 2 7 .0.0.1 /test.php?id=1 -v3 --dbms "MySQL" –technique U –pid –batch –tamper “space2 morehash.py”,从而将请求中的空格替换为 URL 编码的乱码。

另外,还专门使用了两个脚本space2 mssqlblank.py和space2 mysqlblank.py来替换空格。
还有charencode.py和chardoubleencode.py。
这两个脚本用于编码混淆,特别适合绕过关键字过滤。

如果您使用的是asp/asp.net开发的网站,那么两个脚本charunicodeencode.py和percent.py会有很大的帮助。
您是否知道 ASP 还允许在字符之间使用多个 % 符号,例如 AND1 =%%%%%%%%%1 ,这是合法的,而且相当酷。

总之,这些假脚本都有各自的用途,你必须根据具体情况灵活使用。
哎,这个安全防护确实很复杂,很费脑筋但是又不得不做。

sqlmaptamper

嗯...sqlmap的篡改功能很重要...就是绕过那些WAF...你知道...防火墙...有时候你会用sqlmap...比如2 02 2 年...我在北京做测试...发现一个网站...数据根本取不到...我很困惑...后来查了一下...发现参数被过滤了...是WAF做的...sqlmap有篡改...它可以帮你换花样...换姿势...比如, space2 comment.py... 空格 已经被过滤了... 就用这个... 把空格改成 //... WAF看不懂... 随机大小写就可以了... randomcase.py... 这个... 如果区分大小写... 就会随机变化... 提高成功率... 还有charunicodeencode.py... 这个把字母转成Unicode码... WAF看不懂... 就好像变了... 要使用它... 只要在命令后面加上--tamper... 然后跟脚本名... 这样 如 sqlmap -u "http://example.com/vulnerable?param=value" --tamper space2 comment... 没关系...但是...你必须知道WAF过滤了什么...然后才能选择正确的脚本...有时尝试一个不起作用...你必须尝试两三个...甚至更多...它可能会增加成功率...但它也可能...使WAF更加警惕...触发其更残酷的举动...所以...小心...不要太 招摇……总之……篡改是个好东西……可以帮你走捷径……但是……不要违法……不要乱做……你知道的……