Wfuzz veb server daxilində fayl və kataloqlar kimi gizli məzmunu axtarmaq üçün istifadə oluna bilər ki, bu da əlavə hücum vektorlarını tapmağa imkan verir. Qeyd etmək lazımdır ki, bu tapşırığın uğuru istifadə olunan wordlist-dən çox asılıdır.
Bununla belə, məhdud sayda platformalar, standart quraşdırmalar, log faylları, administrativ qovluqlar kimi tanınmış resurslar səbəbindən xeyli sayda resurs proqnozlaşdırıla bilən yerlərdə yerləşir. Buna görə də, bu məzmunları brute force daha mümkün bir işə çevrilir.
Wfuzz bəzi lüğətləri əhatə edir, digər daha böyük və ən müasir açıq mənbə söz siyahıları bunlardır:
Siz tez-tez URL sorğu sətirində bir növ məlumatı gizlətmək istəyirsiniz, buna sual işarəsindən sonra URL-də FUZZ açar sözünü göstərməklə nail olmaq olar:
HTML forması kimi bəzi forma kodlu məlumatları gizlətmək istəyirsinizsə, sadəcə olaraq -d əmr satırı arqumentini ötürün:
$ wfuzz -z file,wordlist/others/common_pass.txt -d "uname=FUZZ&pass=FUZZ" --hc 302 http://testphp.vulnweb.com/userinfo.php
********************************************************
* Wfuzz 2.2 - The Web Fuzzer *
********************************************************
Target: http://testphp.vulnweb.com/userinfo.php
Total requests: 52
==================================================================
ID Response Lines Word Chars Request
==================================================================
00044: C=200 114 L 356 W 5111 Ch "test"
Total time: 2.140146
Processed Requests: 52
Filtered Requests: 51
Requests/sec.: 24.29739
Qarışıq kukilər
Öz kukilərinizi serverə göndərmək üçün, məsələn, sorğunu HTTP seansları ilə əlaqələndirmək üçün siz -b parametrindən istifadə edə bilərsiniz (müxtəlif kukilər üçün təkrarlayın):
Hər sorğu hər dəfə fərqli bir proxy istifadə edərək yerinə yetiriləcək.
İdentifikasiyası
Wfuzz –basic/ntlm/digest komanda xətti açarlarından istifadə edərək identifikasiya başlıqlarını təyin edə bilər.
Məsələn, Əsas autentifikasiyadan istifadə edən qorunan resurs aşağıdakı əmrdən istifadə edərək tündləşdirilə bilər:
$ wfuzz -z list,nonvalid-httpwatch --basic FUZZ:FUZZ https://www.httpwatch.com/httpgallery/authentication/authenticatedimage/default.aspx
********************************************************
* Wfuzz 2.2 - The Web Fuzzer *
********************************************************
Target: https://www.httpwatch.com/httpgallery/authentication/authenticatedimage/default.aspx
Total requests: 2
==================================================================
ID Response Lines Word Chars Request
==================================================================
00001: C=401 0 L 11 W 58 Ch "nonvalid"
00002: C=200 20 L 91 W 5294 Ch "httpwatch"
Total time: 0.820029
Processed Requests: 2
Filtered Requests: 0
Requests/sec.: 2.438938
Qorunan veb-saytdan resursu gizlətmək istəyirsinizsə, “–basic user: pass” istifadə edə bilərsiniz.
Rekursiya
-R açarı faydalı yükün rekursiyasının dərinliyini təyin etmək üçün istifadə edilə bilər. Məsələn, əgər siz mövcud qovluqları axtarmaq və sonra eyni faydalı yükdən istifadə edərək yenidən bu qovluqların içərisində qeyri-müəyyənlik etmək istəyirsinizsə, aşağıdakı əmrdən istifadə edə bilərsiniz:
$ wfuzz -z list,"admin-CVS-cgi\-bin" -R1 http://testphp.vulnweb.com/FUZZ
********************************************************
* Wfuzz 2.2 - The Web Fuzzer *
********************************************************
Target: http://testphp.vulnweb.com/FUZZ
Total requests: 3
==================================================================
ID Response Lines Word Chars Request
==================================================================
00003: C=403 10 L 29 W 263 Ch "cgi-bin"
00002: C=301 7 L 12 W 184 Ch "CVS"
|_ Enqueued response for recursion (level=1)
00001: C=301 7 L 12 W 184 Ch "admin"
|_ Enqueued response for recursion (level=1)
00008: C=404 7 L 12 W 168 Ch "admin - CVS"
00007: C=404 7 L 12 W 168 Ch "admin - admin"
00005: C=404 7 L 12 W 168 Ch "CVS - CVS"
00006: C=404 7 L 12 W 168 Ch "CVS - cgi-bin"
00009: C=404 7 L 12 W 168 Ch "admin - cgi-bin"
00004: C=404 7 L 12 W 168 Ch "CVS - admin"
Performans
Bir neçə seçim proqrama performans təsirindən, öz emal gücünüzdən və bant genişliyinizdən asılı olaraq HTTP sorğu mühərrikini dəqiq tənzimləməyə imkan verir.
-t keçidindən istifadə edərək hücumunuzun daha sürətli və ya daha yavaş davam etməsi üçün eyni vaxtda sorğuların sayını artıra və ya azalda bilərsiniz.
Siz Wfuzz-a -s parametrindən istifadə edərək başqa sorğunu yerinə yetirməzdən əvvəl verilmiş bir neçə saniyəni dayandırmağı söyləyə bilərsiniz.
Fayla yazmaq
Wfuzz nəticələrin fərqli formatda fayla yazılmasını dəstəkləyir. Bu, "printerlər" adlanan plaginlər tərəfindən həyata keçirilir. Mövcud printerləri icra edən siyahıya almaq olar:
$ wfuzz -e printers
Məsələn, nəticələri JSON formatında bir çıxış faylına yazmaq üçün aşağıdakı əmrdən istifadə edin:
Wfuzz nəticələri müxtəlif formatlarda göstərməyi dəstəkləyir. Bu, "printerlər" adlanan plaginlər tərəfindən həyata keçirilir. Mövcud printerləri icra edən siyahıya almaq olar:
$ wfuzz -e printers
Məsələn, nəticələri JSON formatında göstərmək üçün aşağıdakı əmrdən istifadə edin:
Defolt və ya xam çıxışdan istifadə edərkən, faydalı yük təsviri ilə birlikdə –efield istifadə edərək göstərmək üçün əlavə FuzzResult sahələrini də seçə bilərsiniz:
$ wfuzz -z range --zD 0-1 -u http://testphp.vulnweb.com/artists.php?artist=FUZZ --efield r
...
000000001: 200 99 L 272 W 3868 Ch 0 | GET /artists.php?artist=0 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Wfuzz/2.4
Host: testphp.vulnweb.com
...
Yuxarıdakı əmr, məsələn, Wfuzz-un uzaq Web serverə göndərdiyi dəqiq HTTP sorğusunu aradan qaldırmaq üçün faydalıdır.
Defolt yük çıxışını tamamilə əvəz etmək üçün əvəzinə –field istifadə edə bilərsiniz:
$ wfuzz -z range --zD 0-1 -u http://testphp.vulnweb.com/artists.php?artist=FUZZ --field url
...
000000001: 200 104 L 364 W 4735 Ch "http://testphp.vulnweb.com/artists.php?artist=0"
...
–efield və –field bir neçə sahəni göstərmək üçün təkrarlana bilər:
$ wfuzz -z range --zD 0-1 -u http://testphp.vulnweb.com/artists.php?artist=FUZZ --efield url --efield h
...
000000001: 200 104 L 364 W 4735 Ch "0 | http://testphp.vulnweb.com/artists.php?artist=0 | 4735"
...
Sahə printeri başlıq və ya altbilgi olmadan yalnız müəyyən edilmiş filtr ifadələrini siyahıya almaq üçün –efield və ya –field ifadəsi ilə istifadə edilə bilər:
$ wfuzz -z list --zD https://www.airbnb.com/ --script=links --script-args=links.regex=.*js$,links.enqueue=False -u FUZZ -o field --field plugins.links.link | head -n3
https://a0.muscache.com/airbnb/static/packages/4e8d-d5c346ee.js
https://a0.muscache.com/airbnb/static/packages/7afc-ac814a17.js
https://a0.muscache.com/airbnb/static/packages/7642-dcf4f8dc.js
Yuxarıdakı əmr, məsələn, wfuzz-u digər alətlərə köçürmək və ya konsol skriptlərini yerinə yetirmək üçün faydalıdır.
–efield və –field əslində filtr ifadələridir. Mövcud sahələr və operatorlar üçün əvvəlcədən istifadə sənədində filtr dili bölməsini yoxlayın.