作者复现笔记,侵删
参考链接:https://www.cnblogs.com/zhengna/p/15131384.html
https://blog.csdn.net/MCTSOG/article/details/124051164
文章目录
思维导图
漏洞发现触发WAF点-针对xray,awvs等
- 1.扫描速度(绕过方法:代理池,延迟,白名单)
- 2.工具指纹(绕过方法:特征指纹,伪造模拟真实是用户)
- 3.漏洞payload(绕过方法:数据变异,数据加密,白名单)
案例1:代理池Proxy_pool项目搭建及使用解释
Proxy_pool免费,但是不适用于waf绕过,因为它是抓取网上各种代理平台提供的免费代理,免费代理存活时间短,成功率随机,稳定性差。
1.Proxy_pool下载(地址:https://github.com/jhao104/proxy_pool),安装库文件,修改setting.py文件
HOST = "127.0.0.1"
DB_CONN = 'redis://:@127.0.0.1:6379/0'
2.下载并安装Redis-x64-3.2.100.msi,地址:https://github.com/MicrosoftArchive/redis/releases。
安装完成后,启动服务(找到安装路径,双击redis-cli.exe文件即可,或者在计算机管理-服务 处启动)
3.Redis可视化工具Redis Desktop Manager下载(http://pan.baidu.com/s/1kU8sY3P),安装,连接。
4.启动调度程序即可抓到代理,命令:python proxyPool.py schedule
Redis Desktop Manager中查看
5.启动webApi服务即可通过web api查看代理。
启动命令:python proxyPool.py server
查看:http://127.0.0.1:5010/get/
这里我是直接用phpstudy 搭建redis
参考:https://blog.csdn.net/sinsted/article/details/122868645
输入命令
使用cmd打开当前项目目录,
# 启动调度程序
python proxyPool.py schedule
# 启动webApi服务
python proxyPool.py server
访问http://127.0.0.1:5010
api使用:
| /get | GET | 随机获取一个代理| 可选参数: ?type=https
过滤支持https的代理|
| /pop | GET | 获取并删除一个代理| 可选参数: ?type=https
过滤支持https的代理|
| /all | GET | 获取所有代理 |可选参数: ?type=https
过滤支持https的代理|
| /count | GET | 查看代理数量 |None|
| /delete | GET | 删除代理 |?proxy=host:ip
|
案例2:充钱代理池直接干safedog+BT+aliyun探针
免费代理不好用,那我们就买代理,建议选择隧道代理,每次请求都会换IP
。
快代理:https://www.kuaidaili.com/
使用上次的脚本,配置收费代理。
域名:port
使用网站:【http://httpbin.org/ip】检测访问其他网站的原始ip是哪个
案例3:safedog-awvs漏扫注入测试绕过-延时,白名单
awvs扫描sqli-labs(绕过安全狗),设置最低速
或者修改AWVS指纹头
控制速度,可以转发给burp suite 然后控制BP放包速度,(手动,或者按键精灵)
案例4:Aliyun_os-awvs漏扫注入测试绕过-延时白名单
注意:不是每个工具都可以控制扫描速度和改变指纹头,比如xray貌似就不行。
此时,可以对工具使用代理,将数据包发送到burpsuite上,人为的对每个数据包点击放行(太麻烦了吧),以控制速度。也可以自己写个鼠标点击器,代替人为点击。
对于漏洞payload触发WAF这种情况,我们怎么绕过呢
?
我们举个例子,由于每个工具判断注入点的方式不同,假设awvs通过and 1=1判断注入,xray通过or 1=1判断注入,那么当waf对and 1=1进行拦截时,我们就不能使用awvs来扫描了,因为扫描不出结果,但是我们可以换xray扫描,这样就绕过了waf拦截,所以实际操作时,我们可以多换几个工具进行扫描
。(方法1)
此外还可以使用冷门扫描工具,因为工具冷门,所以漏洞验证和指纹都不会被WAF采集到,可以绕过。(方法2)
使用开源的或者自己编写的工具扫描时,可以针对触发WAF点进行数据变异,从而绕过拦截。(方法3)
案例5:BT(baota)-awvs+xray漏扫payload绕过-延时被动
awvs
扫描,配置代理,将数据包发送到burp
,burp配置代理,将数据包发送给xray
,实现三者联动
。
此时如果awvs控制了扫描速度,那么xray也会被动延时。
案例6:充钱代理池干safedog+BT+AliyunOS漏洞发现
涉及资源:
http://httpbin.org/ip
https://www.kuaidaili.com/
https://github.com/jhao104/proxy_pool
#配合代理池吃瓜扫描
#Author:小迪安全
#QQ471656814
import requests
import time
headers={
'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (compatible; Baiduspider-render/2.0;
+http://www.baidu.com/search/spider.html)',
'Sec-Fetch-Dest': 'document',
'Accept':
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/si
gned-exchange;v=b3;q=0.9',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-User': '?1',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'Cookie': 'www.xiaodi8.com',
}
for paths in open('php_b.txt',encoding='utf-8'):
url='http://www.xiaodi8.com/'
paths=paths.replace('\n','')
urls=url+paths
proxy = {
'http': 'tps116.kdlapi.com:15818',
}
try:
code=requests.get(urls,headers=headers,proxies=proxy).status_code
print(urls+'|'+str(code))
if code==200 or code==403:
print(urls+'|'+str(code))
except Exception as err:
print('connecting error')
time.sleep(3)