WAF拦截会出现在安全测试的各个层面,掌握各个层面的分析和绕过技术最为关键。

演示案例:
(1).Safedog-默认拦截机制分析绕过-未开 CC:
CC就是DDOS攻击的一种,默认是不开启的。
判断有没有WAF可以直接在url上一顿乱输入,让其报错显示。
拿到一个网站我们使用路径爆破工具:可以看出来这些地址全是误报
这时候我们使用浏览器访问正确的路径是可以访问的,我们对比一下,浏览器访问网站的数据包和使用抓包工具(推荐使用进程数据包抓取那个—wex岁月联盟啥的)抓取爆破软件访问的数据包:
可以很明显的看出不同,在请求方法上就不同。可以修改为Get方式。
问题解决了:不存在误报了
(2).Safedog-默认拦截机制分析绕过-开启 CC:
开启CC之后,再次使用工具,并且访问网站。
这个原因是访问流量太大,所以我们需要设置延时,降低访问速度:
其次个别waf还设置有黑白名单:
那么我们也可以伪造各大搜索引擎的UA进行扫描:但是扫描没有任何结果
这个时候我们使用bp抓取一个正常访问的数据包:
此时我们需要编写python脚本模拟用户进行访问,将每次爬虫的数据包格式都改成正确的:
import requests import time
headers = { ‘Accept’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9’, ‘Accept-Encoding’: ‘gzip, deflate, br’, ‘Accept-Language’: ‘zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6’, ‘Cache-Control’: ‘max-age=0’, ‘Connection’: ‘keep-alive’, ‘Cookie’: ‘PHPSESSID=4d6f9bc8de5e7456fd24d60d2dfd5e5a’, ‘sec-ch-ua’: ‘“Chromium”;v=”92”, “ Not A;Brand”;v=”99”, “Microsoft Edge”;v=”92”‘, ‘sec-ch-ua-mobile’: ‘?0’, ‘Sec-Fetch-Dest’: ‘document’, ‘Sec-Fetch-Mode’: ‘navigate’, ‘Sec-Fetch-Site’: ‘none’, ‘Sec-Fetch-User’: ‘?1’, ‘Upgrade-Insecure-Requests’: ‘1’, ‘User-Agent’: ‘Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)’‘) }
for paths in open(‘php_b.txt’, encoding=’utf-8’): url = “http://127.0.0.1/pikachu” paths = paths.replace(‘\n’, ‘’) urls = url + paths proxy = { ‘http’: ‘127.0.0.1:7777’ } try: code = requests.get(urls, headers=headers, proxies=proxy).status_code
# time.sleep(3)print(urls + '|' + str(code))except Exception as err:print('connect error')time.sleep(3)

运行脚本使用bp抓取数据包:发现和正常访问一样
如果不用自定义头:即去掉这个部分
结果就会很尴尬:
为了防护cc,可以直接在脚本里使用爬虫各大引擎UA的请求头:可以看到非常舒服
代理池技术:相当于找了一个中间商,你访问先到代理然后再到你这里:

(3)阿里云
阿里云-无法模拟搜索引擎爬虫绕过,只能采用代理池或者延时。
(4)阿里云服务器+宝塔付费安全服务—-使用的是阿里云服务器并且在上面开了宝塔的服务:绕过方法只能是代理池或延迟
通过延时来搞:只能是3秒或者更多
发现最后还是连接失败—是宝塔的原因—可以优化日志,因为宝塔检测出一分钟内访问敏感文件了。比如说code.php.bak 可以优化成code.php.bak .或者code.php.bak%20访问的还是原来的。
拿到一个网站绕过waf几率综合下来只有30%,接下来又会推出ai版本的waf,———所以且行且珍惜吧!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

