WAF绕过-漏洞发现-漏扫绕过

Source

在这里插入图片描述
通常在实战中,当我们需要进行漏扫等的时候,常常被waf产品拦截,导致扫描结果不可用,出现很大的误报,这时候需要采取waf绕过扫描。

漏扫方法:
综合工具:
awvs,xray,appscan,
单点工具:
tpscan(thinkphp)
wpscan(wordpress)
st2scan(Struts2)触发waf的因素:
通常被waf拦截因为触发了waf的规则,总结往往具备以下几点
1)漏扫线程过大被封禁
解决方法:延时,低线程,使用代理池,白名单扫描
2)工具指纹被waf识别被封禁
解决方法:指纹特征修改,模拟用户漏扫
3)漏洞单点payload特征被waf识别封禁
解决方法:数据变异绕过,多中工具集合扫描尝试

综上所述,通过被waf拦截方式下手对策

0x02 绕过实例介绍

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

可以自行搭建代理流量池,但是通常情况下效率很低,IP存活率也不高,这里还是推荐使用收费的代理,使用隧道代理,加大漏扫效率,使用代理记得将本地IP加入白名单,免密码验证使用代理,
代理网址:https://www.kuaidaili.com/
推荐使用隧道代理,加大效率
在这里插入图片描述
python 爬代理池代码
要更改的参数
在这里插入图片描述
python目录扫描+代理池代码

import requests
import time


def get_proxy():
    return requests.get("http://127.0.0.1:5010/get/").json()


def delete_proxy(proxy):
    requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))


retry_count = 5
header = {
    
      

}
option = int(input())
if option == 1:
    epoxy = get_proxy().get("proxy")
if option == 0:
    print(1)
    epoxy = {
    
      
        'http': '127.0.0.1:8080'
    }
for path in open('E:\Python38\php.txt', encoding='utf-8'):
    url = 'http://192.168.224.130/xscj/pikachu-master/inc'
    paths = path.replace('\n', '')
    urls = url + paths
    while retry_count > 0:
        try:
            print(urls + epoxy)
            code = requests.get(urls, headers=header, proxies={
    
      "http": "http://{}".format(epoxy)}).status_code
            # 使用代理访问
            # time.sleep(3)
            print(urls + '|' + str(code))
            if code == 200 or code == 403:
                print(urls + '|' + str(code))
        except Exception as err:
            print('connecting error')
        #time.sleep(3)
    # 删除代理池中代理
# delete_proxy(proxy)

充钱代理池直接干 safedog+BT+Aliyun 探针

免费代理不好用,那我们就买代理,建议选择隧道代理,每次请求换IP。
快代理:https://www.kuaidaili.com/
在这里插入图片描述

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

awvs扫描sqli-labs(绕过安全狗),设置最低速或者修改AWVS指纹头
各大搜索引擎的User-Agent:https://www.cnblogs.com/iack/p/3557371.html在这里插入图片描述

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)

BT(baota)-awvs+xray 漏扫 Payload 绕过-延时被动

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

此时如果awvs控制了扫描速度,那么xray也会被动延时。
在这里插入图片描述
在这里插入图片描述

充钱代理池直接干 Safedog+BT+AliyunOS 漏洞发现

在这里插入图片描述