htcap:一款實用的遞歸型Web漏洞掃描工具
今天給大家介紹的是一款名叫 htcap 的開源 Web 漏洞掃描工具,它通過攔截 AJAX 調用和頁面 DOM 結構的變化並採用遞歸的形式來爬取單頁面應用(SPA)。htcap 並不是一款新型的漏洞掃描工具,因為它主要針對的是漏洞掃描點的爬取過程,然後使用外部工具來掃描安全漏洞。在 htcap 的幫助下,我們就可以通過手動或自動滲透測試來對現代 Web應用進行漏洞掃描了。
環境要求
1.
Python 2.7
2.
PhantomJS v2
3.
Sqlmap
4.
Arachni
工具下載和運行
$ git clonehttps://github.com/segment-srl/htcap.git htcap
$ htcap/htcap.py
命令行參數
$ htcap crawl -husage: htcap [options] url outfileOptions: -h 幫助菜單 -w 覆蓋輸出文件 -q 不顯示處理過程信息 -mMODE 設置爬取模式: - passive:不與頁面交互 - active:觸發事件 - aggressive:填寫輸入值並爬取表單 (默認) -sSCOPE 設置爬取範圍: - domain:僅爬取當前域名 (默認) - directory:僅爬取檔期那目錄 (以及子目錄) - url: 僅分析單一頁面 -D 最大爬取深度 (默認: 100) -P 連續表單的最大爬取深度 (默認: 10) -F 主動模式下不爬取表單 -H 保存頁面生成的HTML代碼 -dDOMAINS 待掃描的域名,多個域名用逗號分隔 (例如*.target.com) -cCOOKIES 以JSON格式或name=value鍵值對的形式設置cookie,多個值用分號隔開 -CCOOKIE_FILE 包含cookie的文件路徑 -rREFERER 設置初始引用 -xEXCLUDED 不掃描的URL地址,多個地址用逗號隔開 -pPROXY 設置代理,protocol:host:port- 支持"http"或"socks5" -nTHREADS 爬蟲線程數量 (默認: 10) -ACREDENTIALS 用戶HTTP驗證的用戶名和密碼,例如username:password -UUSERAGENT 設置用戶代理 -tTIMEOUT 分析一個頁面最長可用時間(默認300) -S 跳過初始url檢測 -G 分組query_string參數 -N 不使用標準化URL路徑 (保留../../) -R 最大重定向數量 (默認10) -I 忽略robots.txt
htcap簡單介紹
htcap的掃描過程分為兩步,htcap首先會儘可能地收集待測目標可以發送的請求,例如url、表單和AJAX請求等等,然後將收集到的請求保存到一個SQLite資料庫中。爬取工作完成之後,我們就可以使用其他的安全掃描工具來測試這些搜集到的測試點,最後將掃描結果存儲到剛才那個SQLite資料庫之中。
htcap內置了sqlmap和arachni模塊,sqlmap主要用來掃描SQL注入漏洞,而arachni可以發現XSS、XXE、代碼執行和文件包含等漏洞。
htcap所採用的爬蟲演算法能夠採用遞歸的方式爬取基於AJAX的頁面,htcap可以捕獲AJAX調用,然後映射出DOM結構的變化,並對新增的對象進行遞歸掃描。當htcap載入了一個測試頁面之後,htcap會嘗試通過觸發所有的事件和填充輸入值來觸發AJAX調用請求,當htcap檢測到了AJAX調用之後,htcap會等待請求和相關調用完成。如果之後頁面的DOM結構發生了變化,htcap便會用相同演算法對新增元素再次進行計算和爬取,直到觸發了所有的AJAX調用為止。
爬蟲模塊
Htcap支持三種爬取模式:被動型、主動型和攻擊型。在被動模式下,htcap不會與任何頁面進行交互,這意味著爬蟲不會觸發任何頁面事件,它只會收集頁面現有的鏈接。在這個模式下,htcap就跟普通的Web爬蟲一樣,只會收集頁面標籤中的鏈接。在主動模式下,htcap會觸發所有發現的事件,相當於模擬用戶與頁面進行交互,但不填寫任何錶單數據。在攻擊模式下,htcap會向所有掃描到的表單和輸入框中填寫測試數據,即儘可能地模擬用戶與頁面進行交互。
爬取範圍
htcap可以指定爬取範圍,可選範圍包括:域名、目錄和url。如果範圍是域名的話,htcap只會爬取給定的域名地址;如果範圍為目錄,那麼htcap將會爬取指定目錄以及該目錄下的所有子目錄;如果設置的是url,那麼htcap將只會分析單個頁面。
* 參考來源:
n0where, FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM※BadUSB防禦初探
※如何做一個完全體的阿爾法狗
※CVE-2017-4918:VMware Horizon的macOS客戶端代碼注入漏洞分析
TAG:FreeBuf |
※158行Python 代碼,復現 DeepMind 遞歸神經網路 DRAW!
※c 和 Python 實現歸併排序(遞歸,非遞歸)
※遞歸、歸併排序,master公式
※在Python程序中設置函數最大遞歸深度
※php 遞歸刪除目錄下的文件
※遞歸皮層網路RCN識別文本CAPTCHAS的Science論文基礎知識和譯文
※可視化遞歸——你所不知道的Python之美
※遞歸:夢中夢 Linux 中國
※如何在使用 scp 命令時遞歸地排除文件
※ICLR19高分論文:為思想「層次」建模,遞歸推理讓AI更聰明
※技術的遞歸結構
※一個長期被誤會的問題,這下說清楚了——迭代與遞歸的性能
※遞歸函數及匿名函數配合內置函數的使用
※關於遞歸的有趣漫畫
※人工智慧時代:什麼是遞歸神經網路
※德羅斯特效應是一個荷蘭語辭彙,描述了一種特殊類型的遞歸圖片
※看動畫輕鬆理解「遞歸」與「動態規劃」
※基於遞歸神經網路的張量流時間序列分析
※離子吸氣式電動發動機,遞歸神經網路,人造流星雨,短時爆發活動
※谷歌提出「超大數相乘」演算法,量子版遞歸有望成真!