Attualmente sto testando un sito in cui viene utilizzata l'intestazione host per la creazione di un link email di ripristino. Tuttavia, quando provo a manipolare l'intestazione host in Burp, ottengo un messaggio HTTP 400 che dice che sto usando un nome host non valido. Ottengo questo errore anche se provo a manomettere l'intestazione host per GET /
o qualsiasi altra richiesta.
Il mio pensiero iniziale era che, essendo un servizio app su Azure, l'host non era stato trovato e non aveva alcun binding sul server e quindi non funzionava. Tuttavia, sullo stesso server del servizio app, c'è un'altra applicazione ospitata su cui mi è stato permesso di testare. Quando ho aggiunto un'intestazione host che conosco esiste su quel server, ricevo comunque lo stesso errore HTTP 400.
Che cosa sta facendo Microsoft per impedirlo?
Ping verificando che i domini si trovino sullo stesso server:
Esempiodirichiesta,modificadihostedestinazionemaentrambiidominisitrovanosullostessoserver.
Ilmessaggioèsemprelostesso:
HTTP/1.1400BadRequestContent-Type:text/html;charset=us-asciiServer:Microsoft-HTTPAPI/2.0Date:Fri,06Oct201707:28:25GMTConnection:closeContent-Length:334<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Hostname</h2>
<hr><p>HTTP Error 400. The request hostname is invalid.</p>
</BODY></HTML>
Posso aggiungere una X-Forwarded-Host: mydomain.com
alla richiesta e passerà attraverso ma non raccoglierò l'intestazione come host.