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('\n','')
    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腳本-單線程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM