CAPEC-39
Manipulating Opaque Client-based Data Tokens
In circumstances where an application holds important data client-side in tokens (cookies, URLs, data files, and so forth) that data can be manipulated. If client or server-side application components reinterpret that data as authentication tokens or data (such as store item pricing or wallet information) then even opaquely manipulating that data may bear fruit for an Attacker. In this pattern an attacker undermines the assumption that client side tokens have been adequately protected from tampering through use of encryption or obfuscation.
Abstraction
Standard
Typical severity
Medium
Likelihood of attack
High
Understand the attack
What is this attack pattern?
Execution flow
How does the attack proceed, step by step?
Explore
Enumerate information passed to client side
Techniques used
- Use WebScarab to reveal hidden fields while browsing.
- Use a sniffer to capture packets
- View source of web page to find hidden fields
- Examine URL to see if any opaque tokens are in it
- Disassemble or decompile client-side application
- Use debugging tools such as File Monitor, Registry Monitor, Debuggers, etc.
Determine protection mechanism for opaque token
Techniques used
- Look for signs of well-known character encodings
- Look for cryptographic signatures
- Look for delimiters or other indicators of structure
Experiment
Modify parameter/token values
Techniques used
- Modify tokens logically
- Modify tokens arithmetically
- Modify tokens bitwise
- Modify structural components of tokens
- Modify order of parameters/tokens
Cycle through values for each parameter.
Techniques used
- Use network-level packet injection tools such as netcat
- Use application-level data modification tools such as Tamper Data, WebScarab, TamperIE, etc.
- Use modified client (modified by reverse engineering)
- Use debugging tools to modify data in client
Requirements
What does the attack require?
Prerequisites
- An attacker already has some access to the system or can steal the client based data tokens from another user who has access to the system.
- For an Attacker to viably execute this attack, some data (later interpreted by the application) must be held client-side in a way that can be manipulated without detection. This means that the data or tokens are not CRCd as part of their value or through a separate meta-data store elsewhere.
Skills required
- Medium: If the client site token is obfuscated.
- High: If the client site token is encrypted.
Resources required
- The Attacker needs no special hardware-based resources in order to conduct this attack. Software plugins, such as Tamper Data for Firefox, may help in manipulating URL- or cookie-based data.
Impact
What does a successful attack lead to?
Affected scopes: Integrity
Affected scopes: Confidentiality, Access Control, Authorization
Defence
How is it prevented and mitigated?
Real world