Che cos'è un "Trailing Host Header" e come posso testarlo?

16

Il mio team ha svolto alcune ricerche sulle protezioni WAF basate su uno strumento di test WAF pubblicato quest'anno su Black Hat. Nello strumento, c'è un elenco di test di evasione degli hostname - che sono davvero solo uno schema di idee per testare manualmente.

Ce n'è solo uno che ci ha convinti - cos'è una "intestazione host in coda" come tecnica di evasione per l'hostname?

Qualcuno può suggerire un test valido per questo?

    
posta bethlakshmi 17.08.2012 - 21:37
fonte

1 risposta

12

L'intestazione host viene utilizzata dal client per indicare con quale nome del server desidera parlare. Più siti web possono essere offerti da un singolo indirizzo IP.

Nel protocollo HTTP, i dati possono essere inviati in più blocchi. Ciò è particolarmente utile se il server non conosce la dimensione dei dati prima di completare la richiesta (ad esempio un live streaming o un'applicazione web che inizia a inviare alcuni risultati mentre sta ancora lavorando sul resto).

Vedi 3.6.1 Codifica trasferimento Chunked per i dettagli:

The chunk-size field is a string of hex digits indicating the size of the chunk. The chunked encoding is ended by any chunk whose size is zero, followed by the trailer, which is terminated by an empty line.

The trailer allows the sender to include additional HTTP header fields at the end of the message.

Anche se un client sta caricando qualcosa di dimensioni sconosciute, conoscerà la posizione di destinazione in quel momento, aprirà la connessione. Quindi non ha senso inserire l'intestazione Host nella sezione finale dietro i dati.

La situazione potrebbe essere sfruttabile, se la richiesta è gestita da un proxy inverso (noto anche come firewall dell'applicazione Web) che gestisce le regole di accesso: il proxy invertito potrebbe visualizzare una delle intestazioni host, ma l'applicazione Web potrebbe visualizzare l'altra.

    
risposta data 17.08.2012 - 22:16
fonte

Leggi altre domande sui tag