CAPEC-33
HTTP Request Smuggling
An adversary abuses the flexibility and discrepancies in the parsing and interpretation of HTTP Request messages using various HTTP headers, request-line and body parameters as well as message sizes (denoted by the end of message signaled by a given HTTP header) by different intermediary HTTP agents (e.g., load balancer, reverse proxy, web caching proxies, application firewalls, etc.) to secretly send unauthorized and malicious HTTP requests to a back-end HTTP agent (e.g., web server). See CanPrecede relationships for possible consequences.
Abstraction
Detailed
Typical severity
High
Likelihood of attack
Medium
Understand the attack
What is this attack pattern?
Extended description
Execution flow
How does the attack proceed, step by step?
Explore
Survey network to identify target
Techniques used
- Scan networks to fingerprint HTTP infrastructure and monitor HTTP traffic to identify HTTP network path with a tool such as a Network Protocol Analyzer.
Experiment
Identify vulnerabilities in targeted HTTP infrastructure and technologies
Cause differential HTTP responses by experimenting with identified HTTP Request vulnerabilities
Techniques used
- Continue the monitoring of HTTP traffic.
Attack step
Exploit
Perform HTTP Request Smuggling attack
Techniques used
- Leverage techniques identified in the Experiment Phase.
Requirements
What does the attack require?
Prerequisites
- An additional intermediary HTTP agent such as an application firewall or a web caching proxy between the adversary and the second agent such as a web server, that sends multiple HTTP messages over same network connection.
- Differences in the way the two HTTP agents parse and interpret HTTP requests and its headers.
- HTTP agents running on HTTP/1.1 that allow for Keep Alive mode, Pipelined queries, and Chunked queries and responses.
Skills required
- Medium: Detailed knowledge on HTTP protocol: request and response messages structure and usage of specific headers.
- Medium: Detailed knowledge on how specific HTTP agents receive, send, process, interpret, and parse a variety of HTTP messages and headers.
- Medium: Possess knowledge on the exact details in the discrepancies between several targeted HTTP agents in path of an HTTP message in parsing its message structure and individual headers.
Resources required
- Tools capable of crafting malicious HTTP messages and monitoring HTTP message responses.
Detection
What are the indicators of the attack?
Impact
What does a successful attack lead to?
Affected scopes: Confidentiality, Integrity, Availability
Affected scopes: Confidentiality, Access Control, Authorization
Affected scopes: Integrity
Defence
How is it prevented and mitigated?
Real world