CAPEC-105
HTTP Request Splitting
An adversary abuses the flexibility and discrepancies in the parsing and interpretation of HTTP Request messages by different intermediary HTTP agents (e.g., load balancer, reverse proxy, web caching proxies, application firewalls, etc.) to split a single HTTP request into multiple 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
Attack step
Exploit
Perform HTTP Request Splitting 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 headers capable of being user-manipulated.
- HTTP agents running on HTTP/1.0 or 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 messages 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: Confidentiality
Affected scopes: Integrity
Defence
How is it prevented and mitigated?
Real world