CAPECattack pattern

CAPEC-107 Cross Site Tracing

Very High Official page ↗
Abstraction
Detailed
Status
Draft
Likelihood of attack
Medium
Typical severity
Very High
CAPEC version
3.9

Description

Cross Site Tracing (XST) enables an adversary to steal the victim's session cookie and possibly other authentication credentials transmitted in the header of the HTTP request when the victim's browser communicates to a destination system's web server.

Extended description

The adversary uses an XSS attack to have victim's browser sent an HTTP TRACE request to a destination web server, which will proceed to return a response to the victim's web browser that contains the original HTTP request in its body. Since the HTTP header of the original HTTP TRACE request had the victim's session cookie in it, that session cookie can now be picked off the HTTP TRACE response and sent to the adversary's malicious site. XST becomes relevant when direct access to the session cookie via the "document.cookie" object is disabled with the use of httpOnly attribute which ensures that the cookie can be transmitted in HTTP requests but cannot be accessed in other ways. Using SSL does not protect against XST. If the system with which the victim is interacting is susceptible to XSS, an adversary can exploit that weakness directly to get their malicious script to issue an HTTP TRACE request to the destination system's web server.

Execution flow

1. [Explore] [Determine if HTTP Trace is enabled] Determine if HTTP Trace is enabled at the web server with which the victim has an active session 2. [Experiment] [Identify mechanism to launch HTTP Trace request] The adversary attempts to force the victim to issue an HTTP Trace request to the targeted application. 3. [Exploit] [Create a malicious script that pings the web server with HTTP TRACE request] The adversary creates a malicious script that will induce the victim's browser to issue an HTTP TRACE request to the destination system's web server. The script will further intercept the response from the web server, pick up sensitive information out of it, and forward to the site controlled by the adversary. 4. [Exploit] [Execute malicious HTTP Trace launching script] The adversary leverages an XSS vulnerability to force the victim to execute the malicious HTTP Trace launching script 5. [Exploit] [Intercept HTTP TRACE response] The adversary's script intercepts the HTTP TRACE response from teh web server, glance sensitive information from it, and forward that information to a server controlled by the adversary.

Prerequisites

• HTTP TRACE is enabled on the web server • The destination system is susceptible to XSS or an adversary can leverage some other weakness to bypass the same origin policy • Scripting is enabled in the client's browser • HTTP is used as the communication protocol between the server and the client

Skills required

• [Medium] Understanding of the HTTP protocol and an ability to craft a malicious script

Consequences

• Confidentiality: Read Data • Confidentiality, Access Control, Authorization: Gain Privileges • Integrity: Modify Data

Mitigations

• Administrators should disable support for HTTP TRACE at the destination's web server. Vendors should disable TRACE by default. • Patch web browser against known security origin policy bypass exploits.

Related

Child of · CAPEC (1)

Weakness · CWE (2)

  • CWE-648 Incorrect Use of Privileged APIs weakness
  • CWE-693 Protection Mechanism Failure weakness

Referenced by CAPEC · can precede (1)

  • CAPEC-63 Cross-Site Scripting (XSS) attack pattern

Referenced by CWE · attack pattern (2)

  • CWE-648 Incorrect Use of Privileged APIs weakness
  • CWE-693 Protection Mechanism Failure weakness