目录
一、旁路绕过
二、针对云waf防护
三、白名单
3.1、简介:
3.2、IP 白名单
3.3、静态资源
3.4、目录伪装绕过(url 白名单)
3.5、爬虫白名单(用处较大)
3.5.1、原因:
3.5.2、爬虫识别:
3.5.3、插件:
3.5.4、修改头部特征脚本
四、限速
一、旁路绕过
WAF设置的时候由于疏漏,针对http(80端口)和https协议(443端口)没有全部进行防护,因此,在URL中把http改为https进行相互改
二、针对云waf防护
查找到真实ip,绕过CDN防护(基本操作)
小国家服务器访问网站
结合公司注册地进行手工判断
(有的时候工具也不一定可靠,要多试几个,然后自己判断一下)
三、白名单
3.1、简介:
云WAF在配置中会选择“信任”部分数据包,这部分数据包不会进行匹配检验
在WAF里有一个白名单列表,符合白名单要求的,WAF就不会进行检测。
如果把我们访问的数据包伪装成白名单上的数据包,就可以绕过WAF的检验。
3.2、IP 白名单
有些网站不会对自己(即物理机上的操作)进行检验,因此,可以在数据包中设置X-FARWARDED-FOR头,或者是X-Originating-IP,设置为127.0.0.1,就能绕过WAF。
从网络层获取的 ip,这种很难伪造,需要满足的条件比较多,较难实现,即使对数据包进行了修改,也是不会接受的但。如果是获取客户端的 IP,就存在伪造 IP 绕过的情况。
修改 http 的 header
X-Forwarded-For
X-remote-IP
X-originating-IP
x-remote-addr
X-Real-ip
3.3、静态资源
特定的静态资源后缀请求,常见的静态文件(.js .jpg .swf .css .txt等等),类似白名单机制,waf 为了检测效率,不去检测这样一些静态文件名后缀的请求。
URL/sql.php/1.js?id=1 and 1=1
URL/index.php/1.txt?id=1 and 1=1
(Aspx/php 只识别到前面的 .aspx/.php 后面不识别)
(自我认为与工具爆破式测试相比,手工操作的逆向思维必不可少,再结合工具跑数据)
要实现的预期的结果(要有个方向)-------->对预期结果有影响的waf安全防护规则(知己知彼),并进行分析,-------->动动小脑瓜找绕过方法开始尝试
(1)要实现的预期的结果:
通过访问静态资源绕过waf,并能执行相关数据库语句
(2)了解相关waf安全防护规则
查询安全狗关于数据库操作相关检测规则
最多的就是检测URL、cookie、post的内容
很显然会对注入语句进行正则匹配,如果匹配到会进行拦截------>结合工具跑出识别不出来的情况
但是其默认的检测HTTP头是没开的
不绕过规则的结果------>被拦截
(3)动动小脑瓜找绕过方法开始尝试
①对post内容进行检测,说明可以尝试进行post内容进行提交
虽然没有被拦截,但是网站无法接收到post提交
GET、POST的区别、抓包GET改POST、http请求头参数、状态码_黑色地带(崛起)的博客-CSDN博客javascript:void(0)
POST不接收,那么只能考虑回到GET,或者改源码为request
(这里不存在表单提交啥的,所有可能就不接收POST提交)
(人间真实,状况百出)
回到GET,那么就要考虑使用各种注释符,替换等等方法绕过(现在就可以用工具代替手工了)
(爆破这方面还是交给工具和脚本解决吧)
3.4、目录伪装绕过(url 白名单)
针对特定目录设置的白名单列表,如 admin/manager/system 等管理后台检测数据包中是否含有指定的关键字符串判定,尝试构造含有这些指定目录字符串特性的数据包。
只要url中存在白名单的字符串,就作为白名单不进行检测。
常见的 url 构造姿势:
URL/index.php/admin?id=1
(呕吼,没拦截)
URL/index.php?a=/manage/&b=../etc/passwd
(这里不存在表单提交啥的,所有可能就不接收POST提交)
URL/../../manage/../sql.asp?id=2
(还是要先把文件目录地图爬出来)
3.5、爬虫白名单(用处较大)
3.5.1、原因:
为了提高在SEO上的排名,会设置对大型搜索引擎的爬虫不做检验(百度,谷歌啥的)
如果把数据包中user-agent字段中替换成搜索引擎信息,就可以绕过WAF的检验
3.5.2、爬虫识别:
根据UserAgent(通过伪装,易被欺骗)
通过行为判断
3.5.3、插件:
User Agent Switch(Firefox附加组件)
根据爬虫白名单里面的搜索引擎列表,在网上去查他们的user-agent字段
我搜了一下baidu的
PC端的是:
Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)
UA端的是:
Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,likeGecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)
产品名称 对应user-agent
网页搜索 Baiduspider
无线搜索 Baiduspider
图片搜索 Baiduspider-image
视频搜索 Baiduspider-video
新闻搜索 Baiduspider-news
百度搜藏 Baiduspider-favo
百度联盟Baiduspider-cpro
竞价蜘蛛Baiduspider-sfkr
(来自百度百科)
3.5.4、修改头部特征脚本
或者使用pycharm运行python文件
python运行脚本文件的3种方法javascript:void(0)
pycharm:No module named ‘requests‘类似衍生的问题你真的解决了嘛?javascript:void(0)
import json
import requests
url='http://localhost:8080/sqli-labs-master/Less-2/'
head={
'User-Agent':'Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)'
}
for data in open('xxx.txt'):
data=data.replace('\n','')
urls=url+data
code=requests.get(urls).status_code
print(urls+'|'+str(code))
四、限速
使用工具的时候进行限速操作
具体的限速一般参考对应WAF的默认值