Fuzzing atak metodunu blackbox testlerde sistemler hakkında bilgi sahibi olmak için kullanırız. URL Fuzzing de bunun bir parçasıdır.

URL Fuzzing işleminde olası dosya/klasör isimlerinin yer aldığı bir liste oluşturulur ve bununla sisteme http isteği attırılır. Doğru yapılandırılmış bir web sunucusunda olmayan bir dosyayı çağırdığınızda http response statü kodu 404 Not Found olarak gelir. Eğer bunun dışında bir statü kodu dönerse sistem üzerinde bulunan bir dosyayı tespit etme ihtimalimiz doğmuş olur.

Bu yazıda Url Fuzzing için kullanılan 2 araçtan bahsedeceğiz;

  1. Opendoor
  2. Wfuzz

Opendoor

OWASP tarafından geliştirilen bir araçtır. Kendi içerisinde bulunan oldukça geniş bir listesi vardır. Genel kullanımı;

 opendoor --host http://php.testsparker.com/ -t 10 --random-agent --reports txt --accept-cookie

şeklindedir. Opendoor üzerinde en çok kullanılan parametrelerin karşılıkları ise;

–host Hedefin adresi
–random-agent Rastgele bir User-Agent koyar
-t Thread belirleme parametresi
–reports Çıktıları kaydeder json,std,txt,html
–accept-cookie Response üzerinde verilen cookieyi kaydeder
–prefix Özel bir dizin taraması için kullanılır x.com/dir/
-p Hedefin portunu belirler (default 80)
–method, -m http metodunu seçer (default HEAD)
URL Fuzzing

Opendoor’da çıktılar default olarak  ~/reports/target.com/{success,forbidden,redirect,auth}.txt şeklinde tutulur. Aracı kullanmak için:

https://github.com/stanislav-web/OpenDoor.git

git clone https://github.com/stanislav-web/OpenDoor.git

cd OpenDoor/

pip install -r requirements.txt

chmod +x opendoor.py

Wfuzz

Wfuzz aracı bu konuda en detaylı testi yapmanıza olanak sağlayan araçlardan birisidir. Url fuzzing testleri için geliştirilen araçlar sadece http statü koduna bakarken, wfuzz kullanıcılarına test yaparken hem content-length hem satır sayısına göre kontrol ettirme imkanı sunuyor.  Çünkü doğru yapılandırılmamış olan bir web sunucusunda 404 dönmesi gereken statü kodu 200 olarak dönebilir veya olmayan bir dosyaya istek attığımızda 302 statü kodu dönüp bizi 404 sayfasına yönlendirebilir. Haliyle bu durum işimizi zorlaştırır.

wfuzz -c -z file,’/usr/share/opendoor/data/directories.dat’ –hc 404  https://x/FUZZ

wfuzz üzerinde en çok kullanılan parametreler şöyledir

-c Çıktıyı renklendirmek için kullanırız
-z Wordlist adresini belirtiriz
–hc Gizlenecek olan statü kodunu belirtiriz
–hw Gizlenecek olan content-length’i belirtiriz
–hl Gizlenecek olan satır sayısını belirtiriz
En sona Hedefi gireriz ve sonuna FUZZ ekleriz
URL Fuzzing

Ekran görüntüsünde –hl, –hw, –hc parametrelerinin neye göre alındığını belirttim. Bazen karşımıza bir 404 sayfası çıkar, fakat aslında statü kodu 200 olarak dönüyordur. 404 sayfası sabit ise –hc parametresi ile o değeri gizleyebiliriz. Aracı yüklemek için ise:

https://github.com/xmendez/wfuzz  adresini,

veya pip install wfuzz komutunu kullanabilirsiniz.

Güvenli günler dileriz.