如何使用WWWGrep檢查你的網(wǎng)站元素安全
關(guān)于WWWGrep
WWWGrep是一款針對HTML安全的工具,該工具基于快速搜索“grepping”機制實現(xiàn)其功能,并且可以按照類型檢查HTML元素,并允許執(zhí)行單個、多個或遞歸搜索。Header名稱和值同樣也可以通過這種方式實現(xiàn)遞歸搜索。
功能介紹
- 使用遞歸選項在目標站點上搜索名為“username”或“password”的輸入字段,快速定位登錄頁面。
- 快速檢查Header以了解特定技術(shù)的使用情況。
- 通過搜索響應(yīng)Header快速定位Cookie和JWT令牌。
- 與代理工具一起使用可通過一組鏈接快速自動執(zhí)行遞歸。
- 通過搜索輸入字段和參數(shù)處理符號,找到頁面(或站點)上的所有輸入接收器。
- 在頁面上找到所有開發(fā)人員注釋,以識別注釋掉的代碼(或待辦事項)。
- 快速查找網(wǎng)頁中存在的易受攻擊的JavaScript代碼。
- 識別頁面代碼中存在的API令牌和訪問密鑰。
- 快速測試管理下的多個站點是否使用了易受攻擊的代碼。
- 快速測試管理下的多個站點是否使用了易受攻擊的框架/技術(shù)。
- 查找可能共享公共代碼庫的站點,以確定缺陷/漏洞的影響。
- 查找共享公共身份驗證令牌(Header身份驗證令牌)的站點。
- 其它功能...
工具安裝
廣大研究人員可以使用下列命令將該項目源碼克隆至本地,并安裝好相關(guān)的依賴組件:
- git clone https://github.com/OWASP/wwwgrep.git
- pip3 install -r requirements.txt
- python3 wwwgrep.py <arguments and parameters>
依賴組件(pip3 install -r requirements.txt)
- - Python 3.5+
- - BeautifulSoup 4
- - UrlLib.parse
- - requests_html
- - argparse
- - requests
- - re
- - os.path
命令行選項
- wwwgrep.py [target/file] [search_string] [search params/criteria/recursion etc]
- Search Inputs
- search_string 指定要搜索的字符串,或者為搜索參數(shù)中指定類型的所有對象指定“”
- -t --target 指定單個URL作為搜索的目標
- -f --file 指定包含要搜索的URL列表的文件
- Recursion
- -rr --recurse-root 將URL遞歸限制到目標中提供的域
- -ra --recurse-any 允許遞歸擴展到目標域之外
- Matching Criteria
- -i --ignore-case 執(zhí)行不區(qū)分大小寫的匹配(默認為按大小寫)
- -d --dedupe 允許每頁有重復(fù)的結(jié)果(默認為消除重復(fù)的結(jié)果)
- -r --no-redirects 不允許重定向(默認為允許重定向)
- -b --no-base-url 從輸出中省略匹配的URL(默認情況下包括URL)
- -x --regex 允許使用正則表達式匹配項(搜索字符串被視為正則表達式,默認值為off)
- -e --separator 指定和輸出說明符(默認值為:)
- -j --java-render 打開頁面對象和文本的JavaScript呈現(xiàn)(默認為關(guān)閉)
- -p --linked-js-on 打開鏈接(腳本src標記)Java腳本的搜索功能(默認為關(guān)閉)
- Request Parameters
- -ps --https-proxy 以“https://<ip>:<port>”格式指定HTTPS協(xié)議的代理
- -pp --http-proxy 以“https://<ip>:<port>”格式指定HTTP協(xié)議的代理
- -hu --user-agent 指定在請求中用作用戶代理的字符串
- -ha --auth-header 指定要在請求Header中使用的承載令牌或其他身份驗證字符串
- Search Parameters
- -s --all 在所有頁面HTML和腳本中搜索匹配的術(shù)語
- -sr --relative 搜索匹配相對URL頁面鏈接
- -sa --absolute 搜索匹配絕對URL頁面鏈接
- -si --input-fields 在頁面中搜索匹配的輸入字段
- -ss --scripts 搜索與搜索規(guī)范匹配的腳本標記
- -st --text 搜索頁面上與搜索規(guī)范匹配的可見文本
- -sc --comments 搜索頁面上與搜索規(guī)范匹配的注釋
- -sm --meta 在頁面元數(shù)據(jù)中搜索與搜索規(guī)范的匹配項
- -sf --hidden 在隱藏字段中搜索與搜索規(guī)范的特定匹配項
- -sh --header-name 搜索響應(yīng)Header以查找與搜索規(guī)范的特定匹配項
- -sv --header-value 搜索響應(yīng)Header值以查找與搜索規(guī)范的特定匹配項
工具使用樣例
遞歸查找站點上名為login的所有輸入字段,匹配不區(qū)分大小寫:
- wwwgrep.py -t https://www.target.com -i -si “login” -rr
在網(wǎng)站的所有頁面上查找包含“待辦事項(to do)”一詞的所有注釋:
- wwwgrep.py -t https://www.target.com -i -sc “to do” -rr
查找特定網(wǎng)頁上的所有注釋:
- wwwgrep.py -t https://www.target.com/some_page -i -sc “”
使用站點遞歸方式查找input.txt文件中包含的web應(yīng)用程序列表中的所有隱藏字段:
- wwwgrep.py -f input.txt -sf “” -rr
項目地址
WWWGrep:【GitHub傳送門】