O **ffuf** (pronuncia-se “**foof**”) é uma ferramenta **rápida e poderosa** de _[[fuzzing]]_ escrita em Go, usada principalmente por pentesters e red teamers para: ```shell # Request básico para fuzzing de diretorios: ffuf -w wordlist.txt -u exemplo.com/FUZZ # Request com duas wordlists para fuzzing de # diretorio e extenções. ffuf -w wordlist1.txt:FUZZ1 -w wordlist2.txt:FUZZ2 -u exemplo.com/FUZZ1FUZZ2 # Comando com Recursividade ffuf -w wordlist.txt -recursion -recursion-depth 2 -u dominio.com/FUZZ # Comando para Request com arquivo: ffuf -request req.txt -w wordlist.txt # Fuzzing de usuários e senhas: ffuf -w wordlists1.txt:USER -w wordlists2.txt:PASS -X POST -d "username=USER&password=PASS" -H "Content-Type: application/x-www-form-urlencoded" -u http://exemplo.com/login # Fuzzing de IDOR passando valores através de SEQ seq 1 1000 | ffuf -w - -u http://ffuf.me/cd/pipes/user?id=FUZZ ``` Testar se uma entrada está em MD5 ou Base64: ```shell #!/bin/bash while read i do   if [ "$1" == "md5" ]; then     echo -n $i | md5sum | awk '{ print $1 }'   elif [ "$1" == "b64" ]; then     echo -n $i | base64   else     echo $i   fi done ``` ```shell # O comando pega o número do SEQ, encoda em MD5 e Base64 # e passa pro Fuff como entrada de Wordlist. seq 1 1000 | hashit b64 | ffuf -w - -u http://ffuf.me/cd/pipes/user2?id=FUZZ ```