02-waf绕过漏洞发现之代理池指纹被动探针

WAF绕过-漏洞发现之代理池指纹被动探针

思维导图

img

漏洞发现触发WAF点-针对xray工具,awvs工具等

  • 1.扫描速度(绕过方法:代理池,延迟,爬虫白名单)
  • 2.工具指纹(绕过方法:特征指纹,伪造模拟真实是用户)
  • 3.漏洞payload(绕过方法:数据变异,数据加密,白名单)

一、代理池Proxy_pool项目搭建及使用解释

Proxy_pool免费,但是不适用于waf绕过,因为它是抓取网上各种代理平台提供的免费代理,免费代理存活时间短,成功率随机,稳定性差。

需要搭配redis数据库

安装使用步骤:

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),安装,连接。

04.启动调度程序即可抓到代理,命令:python proxyPool.py schedule

Redis Desktop Manager中查看

image-20230419131427198

5.启动webApi服务即可通过web api查看代理。

启动命令:python proxyPool.py server

查看:http://127.0.0.1:5010/get/

img

二、充钱代理池直接干safedog+BT+aliyun探针

免费代理不好用,那我们就买代理,建议选择隧道代理,每次请求换IP。

快代理:https://www.kuaidaili.com/

买隧道代理的,每次请求都更改ip,稳定

0

购买完成后提供代理配置网站

img

配置到脚本中就可以实现绕过了:

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 = {
        '购买的代理池'
    }
    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)


//这里php_b.txt是爆破的目录字典
//head里面放入正常的数据包头部信息


0

宝塔日志,可以看到如果拦截,拦截的也是代理的IP。

image-20230419133126515

三、safedog-awvs漏扫注入测试绕过-延时,白名单

本地测试sqlilabs,并且本地的安全狗也是开启状态,cc防护也开了

awvs扫描漏洞,直接扫描会被拦截。

开启sqlmap及waf进行测试。

image-20230419133206070

awvs开启慢速扫描:

awvs扫描sqli-labs(绕过安全狗),设置最低速或者修改AWVS指纹头

image-20230419133310478

速度很快会被安全狗拦截。也可以修改User-Agent,也可以用burpsuite拦截,然后通过按键精灵自己控制速度进行发包速度调整较为麻烦。

对于漏洞payload触发WAF这种情况,我们怎么绕过呢?

方法1:

我们举个例子,由于每个工具判断注入点的方式不同,假设awvs通过and 1=1判断注入,xray通过or 1=1判断注入,那么当waf对and 1=1进行拦截时,我们就不能使用awvs来扫描了,因为扫描不出结果,但是我们可以换xray扫描,这样就绕过了waf拦截,所以实际操作时,我们可以多换几个工具进行扫描。

方法2:

此外还可以使用冷门扫描工具,因为工具冷门,所以漏洞验证和指纹都不会被WAF采集到,可以绕过。

方法3:

使用开源的或者自己编写的工具扫描时,可以针对触发WAF点进行数据变异,从而绕过拦截

四、BT(baota)-awvs+xray漏扫Payload绕过

注意:不是每个工具都可以控制扫描速度和改变指纹头,比如xray貌似就不行。

因此xray没办法直接实现绕过。

为什么要使用xray,因为不同工具扫描漏洞使用的payload是不同的,扫描结果可能也不同。

解决xray拦截问题:

awvs扫描,配置代理,将数据包发送到burp,burp配置代理,将数据包发送给xray,实现三者联动。

此时如果awvs控制了扫描速度,那么xray也会被动延时。

步骤:

配置代理,发送至burp

0

bp配置:

image-20230419134805935

xray开启监听:

0

三者联动(AWVS +Burpsuite +Xray)结果:

image-20230419134918383

五、充钱代理池干safedog+BT+AliyunOS漏洞发现

宝塔正常开启

image-20230419135027512

代理配置:

image-20230419135047888

image-20230419135113808

image-20230419135156093

可以成功看到sql注入测试语句:

image-20230419135217168

补充:手工测试注入

and 1=1 安全狗拦截

image-20230419135317584

xor 1 = 1 被BT的防火墙拦截

image-20230419135342938

每个工具的payload不一样,有的可能会触发waf被拦截

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿凯6666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值