一、前言
sqlmap是一款常用的注入工具。因其方便性,可拓展性而闻名。不需要你会强大的开发知识,只需要设置几个简单的参数即可。而在注入测试的过程中,常常会遇见waf的拦截,今天就介绍几个我常用的简单的绕过waf的姿势,希望大家对大家有所帮助。
二、绕过
2.1 使用参数绕过
SqlMap工具中,有一些参数对我们绕过waf有很大的帮助。这里举几个常用的参数。
2.1.1 --delay
许多waf会对流量进行检测,若测试的速度太快会导致封IP,这个参数设置发包的速度,降低被拦截的几率
例如:“--delay 1”,延时1秒
2.1.2 --random-agent
sqlmap默认发的包中的header头中的agent是:sqlmap/0.9 (http://sqlmap.sourceforge.net),而有的waf对此设置了专门的拦截,使用“--random-agent”这个参数sqlmap会从字典中随机取一个agent伪造,从而绕过waf的拦截
例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; de) Opera 8.0
2.1.3 --user-agent
这个与上面的“--random-agent”意思差不多。有的waf对于百度和谷歌的扫描收录爬虫有特别的策略,使得我们可以伪造百度或谷歌的爬虫agent,达到不会被拦截的效果。
例如:--user-agent “Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)”
2.1.4 --proxy
若是被封IP,还可以使用代理进行注入测试。
例如:“--proxy=123.123.123.123:8888”
2.2 使用脚本绕过
sqlmap工具提供了很多的拓展脚本,在注入测试中可以添加参数:“--temper=xxx.py”,调用xxx.py脚本。这里举例几个通用常用的脚本。更多的脚本大家可以搜索一下,网上有很多。
2.2.1 apostrophemask.py
用utf-8代替引号,例如:“1 and '1'='1#”=“1 and %EF%BC%871%EF%BC%87=%EF%BC%871#”
2.2.2 base64encode.py
用base64编码替换,例如:“1 and '1'='1#”=“MSBBTkQgJzEnPScxIw==”
2.2.3 multiplespaces.py
在SQL语句的关键字旁边添加多个空格,例如:“1 and union select 1#”=”1 and union select 1#”
2.2.4 space2plus.py
用+代替空格,例如:“1 and 1=1#”=“1+and+1=1#”
三、结语
绕过 waf 的姿势还有很多很多,持续总结中。这里我为大家找到一篇 sqlmap 详细全面的笔记,相信看完你会学到很多东西:
https://www.cnblogs.com/bmjoker/p/9326258.html
公众号已经将已发布资料和工具打包好了,关注公众号点击“资料领取”,就可以获取了,后续会更新更多资源,谢谢各位客官支持。
更多文章请关注公众号:星河疯客admin
万水千山总是情,点赞再走行不行的(ง •_•)ง
原文始发于微信公众号(星河疯客admin):绝对干货-SqlMap绕过waf
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论