zoukankan      html  css  js  c++  java
  • 46:WAF绕过-信息收集之反爬虫延时代理池技术

    思维导图

    网站部署waf时,采用进程抓包工具抓取webpathbrute数据包分析,一般有2种结果:

    • 1.直接误报或者无结果
    • 2.扫描一段时间后突然误报

    扫描探针机制

    • 数据包拦截
    • 速度过快拦截

    WebPathBrute-Web路径暴力探测工具:https://github.com/7kbstorm/7kbscan-WebPathBrute

    使用WebPathBrute扫描网站目录,当网站服务器分别部署了以下waf时,对拦截机制进行测试分析,结果如下:

    1.safedog-默认拦截机制-未开CC

    • 扫描结果:出现误报,全部200状态码
    • 原因:浏览器采用get方法,工具扫描采用head方法。
    • 绕过方法:更改提交方式(改为get方法)或模拟用户

    2.safedog-默认拦截机制-开启CC

    • 扫描结果:误报
    • 绕过方法:延时或代理池或爬虫引擎。
    • 2.1 延时
      • 可开启延时扫描,慢速扫描,缺点是速度过慢。
    • 2.2 代理池
      • 网上搜索代理池,写python脚本,添加代理池。确定是WAF可能开启了防代理,无法绕过。
    • 2.3 爬虫引擎

    3.Aliyun_os-默认拦截机制

    • 扫描结果:对部署在阿里云上的网站进行目录扫描时,扫着扫着网站就打不开了,大约1个小时后才能重新打开,重启服务器也不能使网站重新打开,只能等一个小时,猜测这是因为阿里云自己有一套防护体系。
    • 绕过方法:无法模拟搜索引擎爬虫绕过,只能采用延时或代理池

    4.BT(防火墙插件)-默认拦截机制

    • 拦截机制举例:
      • 60秒内,请求同一URL超过120次,封锁IP 100秒。
      • 60秒内,恶意请求6次,封IP 600秒。
        • 什么是恶意请求?比如宝塔检测到用户频繁请求index.php.bak等备份文件,即判断为恶意请求,拦截。对于这种拦截,绕过方法为字典重写(参考于upload-labs做字典)
    • 绕过方法:爬虫未知,延时可以,代理池可以

    5.阿里云(免费)+ safedog + 宝塔(付费插件)

    • 绕过方法:延时或代理池

    6.python编写绕过脚本,进行目录扫描

    • 自定义headers头部,模拟用户
    • 休眠3秒,模拟延时(测试发现,阿里云至少休眠3秒,否则拦截)
    • 添加proxy,从网上爬取代理池,按需添加,比如一个代理发10个请求,接着换另一个代理。
    • 脚本如下
    import requests
    import time
    headers={
    
    
    
    }
    for path in open('php_b.txt',encoding='utf-8'):
        url='http://test.com'
        paths=path.replace('
    ','')
        urls=url+paths
        proxy={
            'http':'127.0.0.1:7777'    
        }
        try:
            code=requests.get(urls,headers=hearders,proxies=proxy).status_code
            //用get请求,将headers替换为之前的headers
            #time.sleep(3)
            print(urls+'|'+str(code))
            if code==200 or code==403:
                print(urls+'|'+str(code))
        except Exception as err:
            print('connecting error')
            timr.sleep(3)
    绕过waf脚本-单线程
  • 相关阅读:
    22、栈的应用-中缀表达式转后缀表达式
    21、栈的应用-就近匹配
    20、双向链表
    19、链式栈
    Eclipse 重新加载插件
    Asp.net web form 使用IOC(Unity) 构造函数注入Page,.net Framework 4.7.2
    asp.net webform 多语言
    sql server 生成数字辅助表
    查询指定数据库的慢语句
    2008 sql 揭秘 第4章的数据库脚本
  • 原文地址:https://www.cnblogs.com/zhengna/p/15129407.html
Copyright © 2011-2022 走看看