waf绕过之信息收集

本文介绍了如何在安全狗防护下通过更改HTTP请求头和使用延时扫描来绕过其默认及开启CC防护机制的拦截。测试环境为windowserver2003和安全狗v4.0。通过将HEAD请求更改为GET请求以及使用延时扫描和模拟用户请求的方式,成功避开了安全狗的检测,实现对网站目录的有效扫描而不被封禁。
摘要由CSDN通过智能技术生成

绕过手法

在这里插入图片描述

测试环境

window server 2003,安全狗v4.0

安全狗默认防护(不开CC流量防护机制)

安全狗配置如下:
不开启cc防护,其他默认
使用目录扫描工具进行网站目录扫描
在这里插入图片描述
可以看到工具的默认http请求为HEAD请求,且扫出了很多状态码为200的目录
我们进入网站查看
在这里插入图片描述
发现扫出的并非为真实存在的目录,从而猜测是被安全狗检测出来了
查看安全狗日志进行验证
在这里插入图片描述

更改请求头绕过

根据日志记录的内容我们可以看出来,是因为HEAD请求的原因被拦截了
因此我们更改请求头为GET,其他配置均不改变进行测试
在这里插入图片描述
和上面的扫描结果对比,很容易看出这一次的扫描出的200状态码明显少了很多
随便访问一个
在这里插入图片描述
可以看到目录是真实的并且依然能够访问,因此也就绕过了安全狗的拦截机制

安全狗默认防护(开启CC流量防护机制)

CC防护简单来说就是检测请求的速度和网络请求来源

配置如下图:
在这里插入图片描述
此次扫描直接使用GET请求进行
在这里插入图片描述
可以看到扫描出的结果和第一次扫描的结果几乎相同,只是此次的返回长度并不为空
我们访问一下网站进行查看
在这里插入图片描述
发现我们已经被ban了ip,即使正常的访问也不能进行

这样的话就只能重启服务器,才能继续进行测试啦

1.使用延时扫描绕过

这一次我们使用延时扫描(由于延时扫描很慢,这里我字节写了一个字典进行测试)
在这里插入图片描述
字典中包含服务器上存在和不存在的文件
在这里插入图片描述
可以看到这一次返回的结果就正常的多,同样进入网站进行验证
在这里插入图片描述
发现我们并没有被安全狗封掉,同时扫除的目录也是真实存在

2.模拟用户请求绕过

这里使用小迪带佬写的python扫描脚本

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/signed-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': 'PHPSESSID=99d6a382f03de62bb8f51ba51e51550f',
}

for paths in open('测试.txt'):
    url='http://192.168.58.187/'
    paths=paths.replace('\n','')
    urls=url+paths
    proxy = {
        'http': '127.0.0.1:7777'
    }
    try:
        code=requests.get(urls,headers=headers,verify=False).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')

运行脚本看一下结果
在这里插入图片描述
可以看到扫描出的结果很正常,而且也并没有被封掉ip

总结

此次的测试只是根据安全狗的防御进行相关的绕过,其他waf的绕过原理和上面总结的基本相同。想要达到最高的效率还是购买代理池来的容易 O(∩_∩)O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

矜庄寂寥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值