WFuzz Tutorial
- 參考網站-1: https://www.ddosi.org/wfuzz-guide/
- 參考網站-2: https://www.ddosi.org/wfuzz/
- 參考網站-3: https://www.secpulse.com/archives/78638.html
- 參考官網-1: https://wfuzz.readthedocs.io/en/latest/user/basicusage.html
Installation & Basic Guide
1 | |
下載下來後總共有4個executable file: wfencode, wfpayload, wfuzz, wxfuzz,這四個file實際上就是去執行src/內部的python cli file
1 | |
wfencode
這個就是encode/decode的script,很單純
1 | |
而關於encode/decoder name可以參考wfuzz file的help
1 | |
如何使用
1 | |
wfpayload
這個file主要是產生payload,不管是數字、iprange或是name,以下列出一些常見的
1 | |
如何使用
如果不知道payload的格式或是哪些module需要安裝,可以使用$ wfpayload -z help --slice "<payload you wanna use>",就可以知道詳細的格式或範例以及一些基本的說明
1 | |
wfuzz & wxfuzz
基本上wxfuzz是wfuzz的GUI版本,他是利用wxPython進行實作,所以如果會使用CLI就不需要管wxfuzz
Directory Scanning
1 | |
可以看到最一開始有Response Status Code, Lines, Word, Chars等這些index,如果想要過濾/顯示特定的packet,可以使用
1 | |
就是對應上述提到的四個index
1 | |
有一個非常重要的部分是,wfuzz無法自行判斷我給的URL和Fuzz element之間是否只有一個/也就是如果wordlist是/api/v1/about,但我給的testing URL是http://localhost:80/這樣的話拼起來就會是http://localhost:80//api/v1/about,這樣的話就會出錯(web server大機率會無法render),另外有些web server的backend沒有辦法解析request URL的最後面出現/(例如Abacus),舉例來說: /api/v1/about和/api/v1/about/在backend解析的時候是不一樣的,但明明wordlist上只出現/api/v1/about,會這樣是因為我給的Wfuzz testing URL是http://localhost:80FUZZ,Wfuzz會自動在後面補一個/,因此比較保險的方式是wordlist最一開始不要是/,然後Wfuzz testing URL是http://localhost:80/FUZZ這樣比較保險