Hack tutorial: Cosa è l'HTTP request smuggling?
Red Hot Cyber
Condividi la tua difesa. Incoraggia l'eccellenza. La vera forza della cybersecurity risiede nell'effetto moltiplicatore della conoscenza.
Cerca
Crowdstriker 970×120
2nd Edition GlitchZone RHC 320x100 2
Hack tutorial: Cosa è l’HTTP request smuggling?

Hack tutorial: Cosa è l’HTTP request smuggling?

Redazione RHC  31 Maggio 2021 08:00

Autore: Damiano Capo

Data Pubblicazione: 26/05/2021


Christmas Sale

Christmas Sale -40%
𝗖𝗵𝗿𝗶𝘀𝘁𝗺𝗮𝘀 𝗦𝗮𝗹𝗲! Sconto del 𝟰𝟬% 𝘀𝘂𝗹 𝗽𝗿𝗲𝘇𝘇𝗼 𝗱𝗶 𝗰𝗼𝗽𝗲𝗿𝘁𝗶𝗻𝗮 del Corso "Dark Web & Cyber Threat Intelligence" in modalità E-Learning sulla nostra Academy!🚀 Fino al 𝟯𝟭 𝗱𝗶 𝗗𝗶𝗰𝗲𝗺𝗯𝗿𝗲, prezzi pazzi alla Red Hot Cyber Academy. 𝗧𝘂𝘁𝘁𝗶 𝗶 𝗰𝗼𝗿𝘀𝗶 𝘀𝗰𝗼𝗻𝘁𝗮𝘁𝗶 𝗱𝗲𝗹 𝟰𝟬% 𝘀𝘂𝗹 𝗽𝗿𝗲𝘇𝘇𝗼 𝗱𝗶 𝗰𝗼𝗽𝗲𝗿𝘁𝗶𝗻𝗮.
Per beneficiare della promo sconto Christmas Sale, scrivici ad [email protected] o contattaci su Whatsapp al numero di telefono: 379 163 8765.


Supporta Red Hot Cyber attraverso: 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.

L’Http request Smuggling è una tecnica per interferire con un sito Web che elabora le sequenze di richieste HTTP ricevute da uno o più utenti. Questa tipologia di vulnerabilità è estremamente pericolosa perché consente ad un utente malintenzionato di aggirare i controlli di sicurezza, ottenere l’accesso non autorizzato a dati sensibili e compromettere direttamente altri fruitori dell’applicazione.

Benché non molto conosciuta, questa è stata scoperta per la prima volta nel lontano 2005.

Le applicazioni web odierne utilizzano spesso catene di server HTTP tra gli utenti e la logica applicativa definitiva. Gli utenti inviano le richieste a un server front-end (a volte chiamato load-balancer o reverse proxy) e questo le inoltra a uno o più server di back-end. Questa tipologia di architettura è sempre più comune, e in alcuni casi inevitabile, nelle moderne applicazioni basate su cloud. Quando il server di front-end inoltra le richieste HTTP a un server di back-end, in genere invia diverse richieste sulla stessa connessione di rete di back-end, perché è molto più efficiente e performante.

Il protocollo è molto semplice: le richieste HTTP vengono inviate una dopo l’altra e il server ricevente analizza le intestazioni delle richieste HTTP per determinare dove finisce una richiesta e inizia quella successiva, come viene mostrato nella figura in calce:

B939cf 762d87feac9d4e8f9fa57ad2bd4d8d65 Mv2

In questa situazione, è fondamentale che i sistemi front-end e back-end siano concordi nelle richieste. In caso contrario, un utente malintenzionato potrebbe essere in grado di inviare una richiesta ambigua che viene interpretata in modo diverso dai sistemi di front-end e di back-end: Nello scenario appena descritto l’attaccante potrebbe fare in modo che la richiesta del front-end venga interpretata dal server di back-end come l’inizio della richiesta successiva.

Se l’attaccante riuscisse a concretizzare quanto descritto, l’esito sarebbe devastante.

Da dove scaturisce la vulnerabilità

Essa si verifica perché ci sono due modi diversi per specificare il punto in cui termina una richiesta: l’intestazione Content-Length e l’intestazione Transfer-Encoding. L’intestazione Content-Length è semplice: specifica la lunghezza del corpo del messaggio in byte. Per esempio:

Content-Length: POST /search HTTP/1.1Host: normal-website.comContent-Type: application/x-www-form-urlencodedContent-Length: 11

L’intestazione Transfer-Encoding può essere utilizzata per specificare che il corpo del messaggio utilizza la codifica in blocchi. Ciò significa che il corpo del messaggio contiene uno o più blocchi di dati. Ogni blocco è costituito dalla dimensione del blocco in byte (espressa in esadecimale), seguita da una nuova riga, seguita dal contenuto del blocco.

Il messaggio viene terminato con un blocco di dimensione zero. Per esempio:

content-type POST /search HTTP/1.1Host: normal-website.comContent-Type: application/x-www-form-urlencodedTransfer-Encoding: chunked

Visto che vi sono diversi metodi per specificare la lunghezza dei messaggi HTTP, è possibile che un singolo messaggio utilizzi entrambi i metodi contemporaneamente, in modo che entrino in conflitto tra loro.

La specifica HTTP tenta di prevenire questo problema affermando che se sono presenti entrambe le intestazioni Content-Length e Transfer-Encoding, l’intestazione Content-Length deve essere ignorata. Ciò potrebbe essere sufficiente per evitare ambiguità quando è in gioco un solo server, ma non quando due o più server stanno lavorando assieme. In questa situazione, possono sorgere problemi per due motivi:

  • Alcuni server non supportano l’intestazione Transfer-Encoding nelle richieste.
  • Alcuni server che supportano l’intestazione Transfer-Encoding possono essere indotti a non elaborarla se l’intestazione è offuscata in qualche modo.

Se i server front-end e back-end si comportano in modo diverso in relazione all’intestazione la Transfer-Encoding (eventualmente offuscata), potrebbero non essere d’accordo sui confini delle richieste successive, portando a vulnerabilità di request smuggling.

Contromisure:

Disabilitare il riutilizzo delle connessioni back-end, in modo che ogni richiesta back-end venga inviata tramite una connessione di rete separata. Usare HTTP/2 per le connessioni back-end, poiché questo protocollo previene l’ambiguità sulle richieste. Utilizzare esattamente lo stesso software per server Web per i server front-end e back-end, in modo che concordino sui confini tra le richieste.

In alcuni casi, le vulnerabilità possono essere evitate facendo in modo che il server front-end normalizzi le richieste ambigue o facendo in modo che il server back-end rifiuti le richieste ambigue e chiuda la connessione di rete. Tuttavia, questi approcci sono potenzialmente più soggetti a errori rispetto alle mitigazioni generiche identificate sopra.

Fonti:

Https://portswigger.net

https://cobalt.io/

https://www.infosecurity-magazine.com/

https://www.infosecinstitute.com/

Seguici su Google News, LinkedIn, Facebook e Instagram per ricevere aggiornamenti quotidiani sulla sicurezza informatica. Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

Immagine del sito
Redazione

La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.

Lista degli articoli

Articoli in evidenza

Immagine del sito
Linee Rosse e Limiti Etici nell’OSINT: Quando la Ricerca Oltrepassa il Confine della Legalità
Di Alexandro Irace - 17/12/2025

L’Open Source Intelligence (OSINT) è emersa, negli ultimi anni, come una delle discipline più affascinanti, ma anche più insidiose, nel panorama dell’informazione e della sicurezza. La sua esse...

Immagine del sito
La psicologia delle password. Non proteggono i sistemi: raccontano le persone
Di Simone D'Agostino - 17/12/2025

La psicologia delle password parte proprio da qui: cercare di capire le persone prima dei sistemi. Benvenuti in “La mente dietro le password”, la rubrica che guarda alla cybersecurityda un’angol...

Immagine del sito
Se pensavi che la VPN servisse a proteggerti… ripensaci!
Di Redazione RHC - 16/12/2025

Le estensioni del browser sono da tempo un modo comune per velocizzare il lavoro e aggiungere funzionalità utili, ma un altro caso dimostra con quanta facilità questo comodo strumento possa trasform...

Immagine del sito
Supply Chain. Aggiornavi Notepad++ e installavi malware: cosa è successo davvero
Di Redazione RHC - 16/12/2025

Una nuova versione, la 8.8.9, del noto editor di testo Notepad++, è stata distribuita dagli sviluppatori, risolvendo una criticità nel sistema di aggiornamento automatico. Questo problema è venuto ...

Immagine del sito
Pornhub: esposta la cronologia dei membri Premium. Scopriamo cos’è successo
Di Luca Galuppi - 16/12/2025

Questa non è la classica violazione fatta di password rubate e carte di credito clonate.È qualcosa di molto più delicato. Il data breach che ha coinvolto Pornhub nel dicembre 2025 rappresenta uno d...