當前位置:
首頁 > 新聞 > htcap:一款遞歸型的Web應用掃描器

htcap:一款遞歸型的Web應用掃描器

工具介紹

htcap是一個Web應用程序掃描程序,可以通過攔截ajax調用以及DOM修改並以遞歸方式爬取單頁應用程序(SPA)。Htcap不僅僅是漏洞掃描程序,因為它主要側重於網站的爬取過程,並使用外部工具來發現漏洞。我們可以將其理解為是一款用於現代Web應用程序的手動以及自動滲透測試的工具。

它的掃描過程主要分為兩部分,首先htcap將抓取目標並收集儘可能多的請求(urls,forms,ajax ecc 等等)並將其保存到sql-lite資料庫。抓取完成後,可以針對已保存的請求啟動多個安全掃描程序,並將掃描結果保存到同一資料庫。Htcap自帶的sqlmap和arachni模塊內置。Sqlmap用於發現SQL注入漏洞,arachni用於發現XSS,XXE,Code Executions,File Inclusions ecc。由於掃描器模塊擴展了BaseScanner類,因此可以輕鬆地創建或修改它們。當填充資料庫(至少使用crawing數據)時,可以使用諸如sqlite3或DBEaver之類的現成可用工具進行探索,或者使用內置腳本將結果導出為各種格式。

Htcap所採用的是一種能夠以遞歸方式對基於ajax的頁面進行爬取的演算法。該演算法通過捕獲ajax調用,將DOM修改映射到自身,並針對新添加的元素遞歸地重複該過程。當載入頁面時,htcap將通過觸發所有事件和填充輸入值來啟動,以觸發ajax調用。當檢測到ajax調用時,htcap等待它完成並調用相對回調函數; 如果在此之後,DOM被修改,htcap將針對添加的元素運行相同的演算法,並重複它,直到所有的ajax調用被觸發。

Htcap支持三種掃描模式:被動,主動和侵略性。當處於被動模式時,htcap不與頁面進行交互,這意味著沒有觸發任何事件,僅遵循鏈接。在這種模式下,htcap作為一個非常基本的網頁抓取工具,只收集頁面中找到的鏈接(A標籤)。這個過程就像是一個用戶點擊了鏈接一樣。主動模式的行為其實類似於被動模式,但它會觸發所有發現的事件。這個過程就像是用戶了與頁面進行了交互但卻沒有輸入任何值。而侵略性模式則會使使htcap可以填充輸入值並發布表單。這個過程類似於那些會在頁面上執行儘可能多的操作的用戶。

Htcap可以將在網站上的爬取過程限制在特定的範圍內。可用範圍包括:域名、目錄以及url。當範圍設置為域名時,htcap將僅抓取目標的域名,再加上allowed_domains(-d選項)。如果範圍是目錄,htcap將僅抓取目標目錄及其子目錄,如果範圍是url,htcap將不會抓取任何東西,它只是會分析一個頁面。

命令行參數

$ htcap crawl -h

usage: htcap [options] url outfile

Options:

-h幫助

-w覆蓋輸出文件

-q不顯示進度信息

-m設置爬取模式:

- passive::不要與頁面發生交互

- active::觸發所有事件

- aggressive:填寫輸入值和爬取網站表單(默認)

-sSCOPE設置爬取範圍

- domain:限制爬取到當前域名(默認)

- directory:限制爬取到當前目錄(和子目錄)

- url:只分析單頁面 -D最大爬取深度(默認值:100)

-P連續表單的最大爬取深度(默認值:10)

-F即使在侵略性模式下,也不爬取表單

-H保存頁面生成的HTML

-dDOMAINS需要掃描的域名,用逗號分隔(ex * .target.com)

-cCOOKIES 利用JSON格式或者name=value對的形式設置cookie,用分號隔開

-CCOOKIE_FILE包含COOKIES的文件路徑

-rREFERER 設置初始引用

-xEXCLUDED逗號分隔需要排除掉的url(正則表達式)- 即註銷urls

-pPROXY代理字元串協議:host:port 協議可以是"http 或 socks5 -

-nTHREADS並行線程數量(默認值:10)

-ACREDENTIALS 用於HTTP驗證的用戶名和密碼,用冒號分隔

-UUSERAGENT設置用戶代理

-tTIMEOUT分析頁面時間的最大值(默認300)

-S跳過初始URL檢查

-G對具有相同名稱的QUERY_STRING參數進行分組(「[]」結尾除外)

-N不使用正常的URL路徑(保持../../)

-R重定向的最大次數(默認為10)

-I忽略robots.txt

環境要求

Python 2.7

PhantomJS v2

Sqlmap(用於sqlmap掃描器模塊)

Arachni(用於arachni掃描器模塊)

下載以及運行

$ git clone https://github.com/segment-srl/htcap.git htcap

$ htcap / htcap.py

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

看我如何黑掉PayPal:從任意文件上傳到遠程代碼執行
2017網路安全生態峰會
Source引擎的遠程代碼執行漏洞,可能影響千萬遊戲玩家
出售帶漏洞的設備違法嗎?德國消協擬起訴一家地方零售商
保護內網域安全之掃描Active Directory特權和特權帳戶(一)

TAG:嘶吼RoarTalk |

您可能感興趣

Somnium Space推出可應用於VR中的3D頭像掃描應用
使用Spring-boot快速啟動Spring應用
快速搭建你的 github pages 個人博客——基於 Create-React-App 的單頁面應用實踐
Less與TypeScript的簡單理解與應用,並使用WebPack打包靜態頁面
Nipper-適用於黑客的Android應用程序
Nike Training Club應用為Apple Watch打通運動數據!
使用 Docker 容器化 Django Web 應用
SpringBoot | 第十八章:web 應用開發之WebJars 使用
Magic Leap Mobile Companion應用將作為控制器替代輸入方式
Microsoft Graph:連接每個應用都需要的基礎數據
electron-toolKit:構建和啟動Electron應用的工具包
Apache Shiro 的Web應用支持指南
Sleep+3應用更新,讓Apple Watch睡眠追蹤更為簡單
使用gradle生成Spring Boot應用的Docker Image
Runtime的應用
如何識別舊版 Apple Watch 應用
在 Kubernetes 上運行一個 Python 應用程序
三星為 Galaxy Note 8 推時間管理應用 Thrive/滴滴 App 可解鎖小藍單車
Facebook將為iPhone推出精簡版應用
Google 計劃在 Chromebook 中增加容器化的 Linux 應用