hackweb
appunti di hacking e tecnologia
IT EN
menù principale
menù utente
non sei loggato

HTTP request smuggling: disaccordo su dove finisce la richiesta

15 dicembre 2024 · 1 min di lettura · #web #http #smuggling

Quando un proxy front-end e un server back-end condividono una connessione ma calcolano diversamente i confini delle richieste HTTP, si può iniettare una richiesta "contrabbandata".

CL.TE e TE.CL

Se il front-end usa Content-Length e il back-end usa Transfer-Encoding (o viceversa), parte del corpo di una richiesta viene interpretata dal back-end come l'inizio della richiesta successiva di un altro utente.

POST / HTTP/1.1
Content-Length: 6
Transfer-Encoding: chunked

0

GPOST /admin ...  <- contrabbandata nella richiesta della vittima

Conseguenze: bypass di controlli, cache poisoning, dirottamento di richieste altrui, furto di credenziali.

Difesa

Usa HTTP/2 end-to-end (elimina l'ambiguità del framing). Normalizza: front-end e back-end devono concordare, rifiutando richieste con entrambi gli header o con TE malformato. Disabilita il riuso della connessione verso il back-end se non necessario.


« torna alla home

ultimi post
 
il tuo indirizzo IP:
216.73.216.108
visitatore #0
MOTD:
Ogni astrazione perde da qualche parte.
Qui guardiamo dove.
argomenti