WAF绕过-信息收集之反爬虫延时代理池技术

WAF拦截会出现在安全测试的各个层面,掌握各个层面的分析和绕过技术最为关键。
WAF绕过-信息收集之反爬虫延时代理池技术_第1张图片

演示案例

WAF绕过-信息收集之反爬虫延时代理池技术_第2张图片

1.Safedog-未开CC时

CC就是DDOS攻击的一种,默认是不开启的。
判断有没有WAF可以直接在路径上报错显示。

可以用目录扫描工具扫
WAF绕过-信息收集之反爬虫延时代理池技术_第3张图片此时发现扫描的目录结果都是误报
通过本地的抓包工具抓取扫描器发送的数据包与通过网站访问的数据包进行对比
WAF绕过-信息收集之反爬虫延时代理池技术_第4张图片
将http请求方式修改为GETWAF绕过-信息收集之反爬虫延时代理池技术_第5张图片重新扫描
WAF绕过-信息收集之反爬虫延时代理池技术_第6张图片

2.当Safedog-开启CC时

WAF绕过-信息收集之反爬虫延时代理池技术_第7张图片再次使用工具扫描,因为工具扫描对网站访问的频率太高,所以ip被安全狗拉入黑名单了
WAF绕过-信息收集之反爬虫延时代理池技术_第8张图片
可以通过这里设置访问的间隔时间,从而不被安全狗判定为工具WAF绕过-信息收集之反爬虫延时代理池技术_第9张图片

黑白名单机制
HTTP检测-黑名单:任何操作都被禁止
HTTP检测-白名单:任何操作都被允许(一般用于网站内部人员)
如果既不是黑名单也不是白名单,就按照规则来

WAF绕过-信息收集之反爬虫延时代理池技术_第10张图片
我们可以通过伪造user-agent用工具对网站进行扫描,因为当安全狗发现你的user-agent是百度谷歌等,为了让网站正常被此类搜素引擎访问爬取,就有可能不会对你的请求进行拦截。

WAF绕过-信息收集之反爬虫延时代理池技术_第11张图片此时更换完user-agent后发现并没有任何结果。

因为单单只修改了user-agent,如果对方对你请求包的内容进行检测的话,还是会被发现是工具进行的访问。

1.可以使用python脚本自定义请求包来访问

可以通过python自定义来模拟正常用户的请求数据包,以及更改为百度谷歌等搜素引擎的user-agent来对网站进行访问请求,此时对方不会拦截
WAF绕过-信息收集之反爬虫延时代理池技术_第12张图片
WAF绕过-信息收集之反爬虫延时代理池技术_第13张图片php_b.txt是一个字典

import requests
import time
#headers为自定义的头部请求数据包
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)

抓包分析:
此处为python脚本自定义的请求数据包
WAF绕过-信息收集之反爬虫延时代理池技术_第14张图片

如果不使用自定义的请求数据包:
WAF绕过-信息收集之反爬虫延时代理池技术_第15张图片

2.代理池
可通过python写的脚本不停更换代理ip访问进行测试

宝塔

宝塔里的日志:
WAF绕过-信息收集之反爬虫延时代理池技术_第16张图片
规则:当宝塔检测出你的ip在规定时间内对敏感文件尝试进行了多次访问,则会把你拉入黑名单

可以优化字典,因为宝塔检测的是一分钟内对敏感文件进行的访问。
比如说code.php.bak 可以优化成code.php.bak .访问的还是原来的,还不会被匹配规则匹配到。

总结

安全狗:开启cc时可通过修改请求包绕过
阿里:延迟和代理池
宝塔:当有付费插件时用延迟和代理,使用延迟时并且需要优化字典,不能触发在60秒内,超过累计6次恶意请求的规则
WAF绕过-信息收集之反爬虫延时代理池技术_第17张图片

你可能感兴趣的:(渗透笔记2,爬虫,安全,http)