{'xhtml:p': ['An adversary manipulates and injects malicious content, in the form of secret unauthorized HTTP responses, into a single HTTP response from a vulnerable or compromised back-end HTTP agent (e.g., web server) or into an already spoofed HTTP response from an adversary controlled domain/site.', 'See CanPrecede relationships for possible consequences.']}
Description
Attack Execution Flow
Step 1
Explore[Survey network to identify target] The adversary performs network reconnaissance by monitoring relevant traffic to identify the network path and parsing of the HTTP messages with the goal of identifying potential targets
Scan networks to fingerprint HTTP infrastructure and monitor HTTP traffic to identify HTTP network path with a tool such as a Network Protocol Analyzer.
[Indaga sulla rete per identificare il target] L'attore malevolo esegue ricognizione della rete monitorando il traffico rilevante per identificare il percorso di rete e analizzando i messaggi HTTP con l'obiettivo di individuare potenziali target
Scansiona le reti per fingerprintare l'infrastruttura HTTP e monitora il traffico HTTP per identificare il percorso di rete HTTP utilizzando strumenti come un Network Protocol Analyzer.
Attack Techniques
-
Scan networks to fingerprint HTTP infrastructure and monitor HTTP traffic to identify HTTP network path with a tool such as a Network Protocol Analyzer.
Step 2
Experiment[Identify vulnerabilities in targeted HTTP infrastructure and technologies] The adversary sends a variety of benign/ambiguous HTTP requests to observe responses from HTTP infrastructure in order to identify differences/discrepancies in the interpretation and parsing of HTTP requests by examining supported HTTP protocol versions, HTTP headers, syntax checking and input filtering.
[Identificare vulnerabilità nell'infrastruttura e nelle tecnologie HTTP mirate] L'avversario invia una varietà di richieste HTTP benigni/ambigue per osservare le risposte dell'infrastruttura HTTP al fine di identificare differenze/discrepanze nell'interpretazione e nell'analisi delle richieste HTTP esaminando le versioni del protocollo HTTP supportate, gli header HTTP, i controlli di sintassi e il filtraggio degli input.
Step 3
Experiment[Cause differential HTTP responses by experimenting with identified HTTP Request vulnerabilities] The adversary sends maliciously crafted HTTP request to back-end HTTP infrastructure to inject adversary data (in the form of HTTP headers with custom strings and embedded web scripts and objects) into HTTP responses (intended for intermediary and/or front-end client/victim HTTP agents communicating with back-end HTTP infrastructure) for the purpose of interfering with the parsing of HTTP responses by intermediary and front-end client/victim HTTP agents. The intended consequences of the malicious HTTP request and the subsequent adversary injection and manipulation of HTTP responses to intermediary and front-end client/victim HTTP agents, will be observed to confirm applicability of identified vulnerabilities in the adversary's plan of attack.
Continue the monitoring of HTTP traffic.
Utilize different sequences of special characters (CR - Carriage Return, LF - Line Feed, HT - Horizontal Tab, SP - Space and etc.) to bypass filtering and back-end encoding and to embed:
additional HTTP Requests with their own headers
malicious web scripts into parameters of HTTP Request headers (e.g., browser cookies like Set-Cookie or Ajax web/browser object parameters like XMLHttpRequest)
adversary chosen encoding (e.g., UTF-7)
to utilize additional special characters (e.g., > and <) filtered by the target HTTP agent.
Note that certain special characters and character encoding may be applicable only to intermediary and front-end agents with rare configurations or that are not RFC compliant.
Follow an unrecognized (sometimes a RFC compliant) HTTP header with a subsequent HTTP request to potentially cause the HTTP request to be ignored and interpreted as part of the preceding HTTP request.
Sperimentazione
[Generare risposte HTTP differenziali sperimentando con vulnerabilità identificate nelle richieste HTTP] L’attaccante invia richieste HTTP malformate o manipolate al back-end HTTP per iniettare dati dell’attaccante (sotto forma di intestazioni HTTP con stringhe personalizzate e script/web object incorporati) nelle risposte HTTP (destinate a agenti HTTP intermediari e/o client/vittima front-end comunicanti con l’infrastruttura HTTP back-end) al fine di interferire con l’analisi delle risposte HTTP da parte di tali agenti. Le conseguenze previste della richiesta HTTP malevola e della successiva iniezione e manipolazione delle risposte HTTP da parte dell’attaccante saranno monitorate per confermare l’applicabilità delle vulnerabilità identificate nel piano di attacco dell’attaccante.
Continuare a monitorare il traffico HTTP.
Utilizzare sequenze differenti di caratteri speciali (CR - Carriage Return, LF - Line Feed, HT - Horizontal Tab, SP - Space, ecc.) per bypassare filtri e codifiche back-end e per incorporare:
richieste HTTP aggiuntive con proprie intestazioni
script web malevoli nei parametri delle intestazioni delle richieste HTTP (ad esempio, cookie del browser come Set-Cookie o parametri di oggetti web/browser Ajax come XMLHttpRequest)
codifiche scelte dall’attaccante (ad esempio, UTF-7)
per utilizzare ulteriori caratteri speciali (ad esempio, > e <) filtrati dall’agente HTTP target.
Si segnala che alcuni caratteri speciali e codifiche dei caratteri potrebbero essere applicabili solo ad agenti intermediari e front-end con configurazioni rare o non conformi a RFC.
Seguire un’intestazione HTTP non riconosciuta (a volte conforme a RFC) con una richiesta HTTP successiva, al fine di potenzialmente far ignorare la richiesta HTTP e interpretarla come parte della richiesta precedente.
Attack Techniques
-
Utilize different sequences of special characters (CR - Carriage Return, LF - Line Feed, HT - Horizontal Tab, SP - Space and etc.) to bypass filtering and back-end encoding and to embed: additional HTTP Requests with their own headers malicious web scripts into parameters of HTTP Request headers (e.g., browser cookies like Set-Cookie or Ajax web/browser object parameters like XMLHttpRequest) adversary chosen encoding (e.g., UTF-7) to utilize additional special characters (e.g., > and <) filtered by the target HTTP agent. Note that certain special characters and character encoding may be applicable only to intermediary and front-end agents with rare configurations or that are not RFC compliant.
-
Continue the monitoring of HTTP traffic.IT: Utilizzare diverse sequenze di caratteri speciali (CR - Carriage Return, LF - Line Feed, HT - Horizontal Tab, SP - Space, ecc.) per aggirare il filtro e la codifica back-end e per incorporare: richieste HTTP aggiuntive con propri header script web dannosi nei parametri degli header delle richieste HTTP (ad esempio, cookie del browser come Set-Cookie o parametri degli oggetti web/browser Ajax come XMLHttpRequest) codifica scelta dall'attaccante (ad esempio, UTF-7) per utilizzare caratteri speciali aggiuntivi (ad esempio, > e <) filtrati dall'agente HTTP target. Si noti che alcuni caratteri speciali e codifiche di caratteri potrebbero essere applicabili solo agli agenti intermedi e front-end con configurazioni rare o non conformi a RFC.
-
Follow an unrecognized (sometimes a RFC compliant) HTTP header with a subsequent HTTP request to potentially cause the HTTP request to be ignored and interpreted as part of the preceding HTTP request.IT: Utilizzare diverse sequenze di caratteri speciali (CR - Carriage Return, LF - Line Feed, HT - Horizontal Tab, SP - Space, ecc.) per aggirare il filtro e la codifica back-end e per incorporare: richieste HTTP aggiuntive con propri header script web dannosi nei parametri degli header delle richieste HTTP (ad esempio, cookie del browser come Set-Cookie o parametri degli oggetti web/browser Ajax come XMLHttpRequest) codifica scelta dall'attaccante (ad esempio, UTF-7) per utilizzare caratteri speciali aggiuntivi (ad esempio, > e <) filtrati dall'agente HTTP target. Si noti che alcuni caratteri speciali e codifiche di caratteri potrebbero essere applicabili solo agli agenti intermedi e front-end con configurazioni rare o non conformi a RFC.
Step 4
Exploit[Perform HTTP Response Splitting attack] Using knowledge discovered in the experiment section above, smuggle a message to cause one of the consequences.
Leverage techniques identified in the Experiment Phase.
[Esegui un attacco di HTTP Response Splitting] Utilizzando le conoscenze acquisite nella sezione dell'esperimento sopra, inserisci un messaggio per causare una delle conseguenze.
Sfrutta le tecniche identificate nella Fase di Esperimento.
Attack Techniques
-
Leverage techniques identified in the Experiment Phase.