Ffuf (Fuzz Faster U Fool) é uma das ferramentas mais confiáveis para realizar um fuzzing numa aplicação web. Aqui, vamos discutir diversos tópicos, tais como:

  • Fuzzing por diretórios
  • Fuzzing por arquivos e extensões
  • Identificação de hosts escondidos
  • Fuzzing por parâmetros PHP
  • Fuzzing por valores de parâmetros

Ferramentas como ffuf nos ajuda ao fornecer uma maneira automatizada de realizar um (mas não só) Web Fuzzing em aplicações web ou em componentes de páginas. Isso significa, por exemplo, que nós usemos uma lista para enviar requisições para o servidor web e, se a requisição ao servidor retornar um status code 200, isso significa que a página existe no servidor.


Filtrando resultados

Existem duas maneiras de filtrar os resultados:

  • Matchers
  • Filters

Eles podem ser utilizados em diferentes contextos para diferentes finalidades. Por exemplo, num caso de Web Fuzzing, onde todas as respostas retornam 200, independente se a página existe ou não, podemos utilizar o parâmetro -fs 900 para determinar o tamanho de uma resposta incorreta para ela não ser considerada.


Parâmetros

ComandoFunção
-icIgnorar comentários do dicionário sendo utilizado
-wDicionário que será utilizado
-uURL que será aplicado o fuzzing
-recursionQuando encontrar um diretório considerado, começara um novo fuzzing dentro desse diretório
-recursion-depthLimita a quantidade máxima da profundidade da recursão
-HDefine algum header que será utilizado nas requisições
-XDefine o método que será utilizado nas requisições
-dDefine o conteúdo da requisição Post.
-eDefine qual a extensão dos arquivos do servidor (saiba mais em Type Fuzzing)
Matchers
-mcEspecifica qual tipo de resposta deve ser considerada pela aplicação web (match code)
Filters
-fsDefine um limite mínimo de caracteres para considerar uma resposta (filter size)

Atenção

A extensão que você passa através do parâmetro -e tem que ser algo como .php. Necessariamente com o . na frente.

Veja também