如何使用SQLMap绕过WAF

简介: WAF(web应用防火墙)逐渐成为安全解决方案的标配之一。正因为有了它,许多公司甚至已经不在意web应用的漏洞。

WAF(web应用防火墙)逐渐成为安全解决方案的标配之一。正因为有了它,许多公司甚至已经不在意web应用的漏洞。遗憾的是,并不是所有的waf都是不可绕过的!本文将向大家讲述,如何使用注入神器SQLMap绕过WAFs/IDSs。

svn下载最新版本的sqlmap
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev

我们关注的重点在于使用tamper脚本修改请求从而逃避WAF的规则检测。许多时候,你需要联合使用多个tamper脚本。
所有tamper脚本请参考:https://svn.sqlmap.org/sqlmap/trunk/sqlmap/tamper/

在这里,我们以针对Mysql的space2hash.pyspace2morehash.py为例。这两个脚本将会自动转换所有空格为随机注释,而此脚本的拓展版本(space2morehash.py)也会帮助到你来“打乱”方法函数以绕过WAF的检测。

Example: * Input: 1 AND 9227=9227
* Output: 1%23PTTmJopxdWJ%0AAND%23cWfcVRPV%0A9227=9227

好了,接下来我们讲重点了。

你可以使用命令–tamper 来调用脚本,如下:

./sqlmap.py -u http://127.0.0.1/test.php?id=1 -v 3 –dbms “MySQL” –technique U -p id –batch –tamper “space2morehash.py”

由上图我们可以看到,请求中的空格被替换为URL编码后的%23randomText%0A
CHAR(), USER(),CONCAT() 这种函数被替换为FUNCTION%23randomText%0A()

还有两个空格替换脚本:space2mssqlblank.py and space2mysqlblank.py,如下图

charencode.py andchardoubleencode.py是两个用来打乱编码的tamper脚本,他们在绕过不同的关键词过滤时很有作用。

如果web应用使用asp/asp.net开发,charunicodeencode.pypercentage.py可以帮助你逃避Waf的检测。

有意思的是,asp允许在字符之间使用多个%号间隔,比如 AND 1=%%%%%%%%1 是合法的!

总结:

以上列举了一部分有代表性的tamper脚本来帮助我们绕过waf,每个脚本都有自己的使用场景,还是需要灵活使用。

文/Roberto Salgado 译/[FreeBuf]Thanks

0
0
您已评价!

 如文中未特别声明转载请注明出自: FreebuF.COM

目录
相关文章
|
7月前
|
存储 安全 网络协议
绕过WAF和多个防护软件提权案例
绕过WAF和多个防护软件提权案例
96 0
|
2月前
|
安全
WAF绕过 -- and判断
WAF绕过 -- and判断
25 0
|
2月前
|
数据库
最简单的WAF绕过方式
最简单的WAF绕过方式
91 0
|
11月前
|
SQL 安全 网络安全
SQL注入-WAF绕过
SQL注入-WAF绕过
|
安全
WAF绕过 -- and判断
WAF绕过 -- and判断
85 0
WAF绕过 -- and判断
|
数据库
最简单的WAF绕过方式
最简单的WAF绕过方式
736 0
最简单的WAF绕过方式
|
数据采集 安全 数据库
某教程学习笔记(一):23、WAF绕过
某教程学习笔记(一):23、WAF绕过
226 0
某教程学习笔记(一):23、WAF绕过
|
程序员 Shell 测试技术
文件上传-PHP异或绕过WAF
文件上传-PHP异或绕过WAF
文件上传-PHP异或绕过WAF
|
SQL 安全 数据库
sqli笔记-基于错误的SQL注入与WAF绕过
正文 测试的是登陆功能,此功能会向数据库发送查询的请求,这里我们仔细来看一下,获取我的数据并通过 POST 请求发送。 工具使用的是Burp Suite,这里拦截了请求并将其发送到repeater:
262 0
sqli笔记-基于错误的SQL注入与WAF绕过