如何使用SQLMAP绕过WAF
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.py和space2morehash.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.py和percentage.py可以帮助你逃避Waf的检测。

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

总结:
以上列举了一部分有代表性的tamper脚本来帮助我们绕过waf,每个脚本都有自己的使用场景,还是需要灵活使用。
参考文章:《利用SQLMap进行cookie注入》《通过HTTP参数污染绕过WAF拦截》
如何使用SQLMAP绕过WAF的更多相关文章
- 使用sqlmap中tamper脚本绕过waf
使用sqlmap中tamper脚本绕过waf 刘海哥 · 2015/02/02 11:26 0x00 背景 sqlmap中的tamper脚本来对目标进行更高效的攻击. 由于乌云知识库少了sqlmap- ...
- 使用sqlmap中的tamper脚本绕过waf
使用sqlmap中tamper脚本绕过waf 脚本名:0x2char.py 作用:用UTF-8全角对应字符替换撇号字符 作用:用等价的CONCAT(CHAR(),...)对应替换每个(MySQL)0x ...
- sqlmap之waf绕过
#一点补充 在老版本的安全狗中,可通过构造payload: http://xx.xx.xx.xx/sqli-labs/Less-2/index.php/x.txt?id=1 and 1=1 可通过in ...
- sqlmap注入之tamper绕过WAF脚本列表
本文作者:i春秋作者——玫瑰 QQ2230353371转载请保留文章出处 使用方法--tamper xxx.py apostrophemask.py用UTF-8全角字符替换单引号字符 apostrop ...
- 一些绕过waf的笔记
转自:http://fuck.0day5.com/archives/622.html 一.各种编码绕过1. ? 1 2 ?id=1 union select pass from admin limit ...
- Sqlmap过waf命令tamper各脚本的适用环境
0x00 相信很多小伙伴和我一样感同身受,站上明明有注入可是被万恶的WAF拦截了或者过滤了,这时候就需要用到SQLMAP强大的tamper了. 0x01 使用方法--tamper xxx.py apo ...
- 如何绕过WAF
目录 HTTP报文包体的解析 Transfer-Encoding Charset 溢量数据 HTTP协议兼容性 HTTP请求行种的空格 HTTP 0.9+Pipelining Websocket.HT ...
- 深入理解SQL注入绕过WAF和过滤机制
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...
- 深入了解SQL注入绕过waf和过滤机制
知己知彼百战不殆 --孙子兵法 [目录] 0x00 前言 0x01 WAF的常见特征 0x02 绕过WAF的方法 0x03 SQLi Filter的实现及Evasion 0x04 延伸及测试向量示例 ...
随机推荐
- 修改VNCSERVER 默认的分辨率的方法
vi /usr/bin/vncserver /1024 找到默认的1024*768修改为 :1680*1050 reboot 重启
- php文件上传需要的配置
服务端配置(php.ini) 1.file_uploads=On //支持HTTP上传 2.upload_tmp_dir =”” //临时文件保存的目录 3.upload_max_filesize ...
- LeetCode解题报告—— Swap Nodes in Pairs & Divide Two Integers & Next Permutation
1. Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For e ...
- 【JBPM4】流程部署
示例代码: ProcessEngine processEngine = Configuration.getProcessEngine(); RepositoryService repositorySe ...
- thinkphp的where方法的使用
1.Thinkphp中where()条件的使用 总是有人觉得,thinkphp的where()就是写我要进行增加.查询.修改.删除数据的条件,很简单的,其实我想告诉你,where()是写条件语句的,但 ...
- 160. Intersection of Two Linked Lists【Easy】【求两个单链表的第一个交点】
Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...
- ZOJ 3872 Beauty of Array【无重复连续子序列的贡献和/规律/DP】
Edward has an array A with N integers. He defines the beauty of an array as the summation of all dis ...
- php通过mysqli链接mysql数据库
首先,我们先来了解一下mysqli是什么,和mysql有什么区别? 1.mysqli是一个扩展库,是允许用户访问mysql4.1或更高版本所提供的功能: 1)mysqli连接是永久连接,而MySQL是 ...
- 洛谷——P1068 分数线划定
P1068 分数线划定 题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,A 市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据 ...
- Flask实战第40天:图片验证码生成技术
图片验证码生成 安装pillow pip install pillow 在utils下新建python package命名为captcha 把需要需要用到的字体放在captcha下 编辑captcha ...