# Web Fuzzing

### Fuzzing

O termo `fuzzing`refere-se a uma técnica de teste que envia vários tipos de entrada do usuário a uma determinada interface para estudar como ela reagiria. Se estivéssemos buscando vulnerabilidades de injeção de SQL, estaríamos enviando caracteres especiais aleatórios e vendo como o servidor reagiria. Se estivéssemos buscando um buffer overflow, estaríamos enviando strings longas e aumentando seu comprimento para ver se e quando o binário quebraria.

### Wordlists

Para determinar quais páginas existem, devemos ter uma lista de palavras contendo palavras comumente usadas para diretórios e páginas da web, muito semelhante a um `Password Dictionary Attack`

Não teremos que reinventar a roda criando manualmente essas listas de palavras, pois grandes esforços foram feitos para pesquisar na web e determinar as palavras mais usadas para cada tipo de fuzzing. Algumas das listas de palavras mais comumente usadas podem ser encontradas no repositório GitHub Seclists.

{% embed url="https://github.com/danielmiessler/SecLists" %}

```
$ locate directory-list-2.3-small.txt

/opt/useful/SecLists/Discovery/Web-Content/directory-list-2.3-small.txt
```
