Vhost Fuzzing
Vhosts vs. Sub-domains
A principal diferença entre VHosts e subdomínios é que um VHost é basicamente um 'subdomínio' servido no mesmo servidor e tem o mesmo IP, de modo que um único IP pode servir dois ou mais sites diferentes.
Vhosts Fuzzing
Para procurar VHosts, sem adicionar manualmente a lista de palavras inteira ao nosso arquivo /etc/hosts
, estaremos confundindo os cabeçalhos HTTP, especificamente o Host:
cabeçalho.
ffuf -w /opt/useful/SecLists/Discovery/DNS/subdomains-top1million-5000.txt:FUZZ -u http://academy.htb:PORT/ -H 'Host: FUZZ.academy.htb'
Filtering
Ffuf
oferece a opção de combinar ou filtrar um código HTTP específico, tamanho de resposta ou quantidade de palavras. Podemos ver isso com ffuf -h
:
$ ffuf -h
...SNIP...
MATCHER OPTIONS:
-mc Match HTTP status codes, or "all" for everything. (default: 200,204,301,302,307,401,403)
-ml Match amount of lines in response
-mr Match regexp
-ms Match HTTP response size
-mw Match amount of words in response
FILTER OPTIONS:
-fc Filter HTTP status codes from response. Comma separated list of codes and ranges
-fl Filter by amount of lines in response. Comma separated list of line counts and ranges
-fr Filter regexp
-fs Filter HTTP response size. Comma separated list of sizes and ranges
-fw Filter by amount of words in response. Comma separated list of word counts and ranges
<...SNIP...>
Neste caso, não podemos usar correspondência, pois não sabemos qual seria o tamanho da resposta de outros VHosts. Sabemos o tamanho da resposta dos resultados incorretos, que, como visto no teste acima, é 900
, e podemos filtrá-lo com -fs 900
. Agora, vamos repetir o mesmo comando anterior, adicionar o sinalizador acima e ver o que obtemos:
$ ffuf -w /opt/useful/SecLists/Discovery/DNS/subdomains-top1million-5000.txt:FUZZ -u http://academy.htb:PORT/ -H 'Host: FUZZ.academy.htb' -fs 900
Last updated