Web Fuzzing menggunakan Ffuf

Senin, 10 Agustus 2020

Web Fuzzing menggunakan Ffuf. Kali ini saya akan sedikit membahas mengenai web fuzzing menggunakan ffuf. Fuzzing disini ditujukan untuk menemukan endpoint ataupun directory yang mungkin berisi informasi penting saat melakukan web assessment.

Nah, salahsatu tool web fuzzing terbaik saat ini adalah ffuf. Tool ini memiliki fitur yang lumayan lengkap, dan juga cepat karena ditulis menggunakan bahasa Go.

Instalasi
Untuk cara install ffuf sendiri cukup mudah. Kalian hanya perlu menginstall Go saja di sistem, lalu install ffuf dengan command
go get github.com/ffuf/ffuf
Atau jika kalian menggunakan Kali Linux, ffuf sudah tersedia di repository. Kalian bisa menginstallnya menggunakan command
sudo apt update && sudo apt install ffuf
Atau, kalian bisa langsung unduh file binary yang sudah dicompile melalui link berikut:
https://github.com/ffuf/ffuf/releases/latest

Wordlist
Untuk melakukan fuzzing, kalian memerlukan wordlist yang berisikan list nama direktori ataupun api endpoint. Nah, dari sekian banyak wordlist, yang menurut saya terbaik adalah SecLists. Di Kali Linux kalian bisa menginstall atau mengunduhnya menggunakan command
sudo apt install seclists
Selain itu, di Kali Linux kalian juga bisa menggunakan wordlist dari beberapa tool bawaan yang sudah disatukan di direktori /usr/share/wordlists.

Usage
berikut adalah beberapa contoh penggunakan ffuf untuk melakukan fuzzing. Yang perlu dicatat adalah saat melakukan fuzzing menggunakan ffuf, parameter yang ingin di fuzzing harus diubah menggunakan kata "FUZZ". Lihat contoh dibawah ini.

Berikut ini adalah contoh menggunakan ffuf untuk melakukan fuzzing untuk menemukan file maupun direktori dipadukan dengan wordlist dari SecLists.
ffuf -u https://ffuf.io.fi/FUZZ -w /usr/share/seclists/Discovery/Web-Content/big.txt

Atau kita bisa melakukan post data fuzzing menggunakan parameter seperti saat melakukan post data menggunakan curl.
ffuf -c -X POST -H "Content-Type: application/x-www-form-urlencoded" \
                                              -d "username=joohoi&password=FUZZ" -w /usr/share/seclists/Passwords/darkc0de.txt \
                                              -u "https://ffuf.io.fi/login.php" -fr "error"
Kita juga bisa mengubah paramater fuzzing di ffuf. Ini akan sangat berguna ketika kita melakukan fuzzing dua parameter sekaligus dengan menggunakan dua wordlist berbeda. Yang perlu kalian tambahkan adalah custom parameter tersebut di flag wordlist. Contoh
seq 1 10000 > numbers.txt && \
ffuf -c -w "numbers.txt:PARAM" -u "https://ffuf.io.fi/content.php?id=PARAM"

Cek status code menggunakan ffuf.
Beberapa waktu lalu saya pernah sharing bagaimana cara mengecek status code dari list domain menggunakan curl. Nah, kalian juga bisa melakukan hal yang sama menggunakan ffuf.
Contoh:
ffuf -u https://HOST -w domain.txt:HOST --mc all

Di ffuf sendiri kalian bisa memfilter output berdasarkan regex, status code, mengatur timeout, dll. Untuk flag lain bisa kalian cek menggunakan command
ffuf --help
Oke mungkin itu dulu tutorial singkat kali ini. Akan saya update lain waktu. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Artikel Terkait Bug Bounty