COMMON ATTACK PATTERN ENUMERATION AND CLASSIFICATIONLive MITRE record

CAPEC-73

User-Controlled Filename

An attack of this type involves an adversary inserting malicious characters (such as a XSS redirection) into a filename, directly or indirectly that is then used by the target software to generate HTML text or other potentially executable content. Many websites rely on user-generated content and dynamically build resources like files, filenames, and URL links directly from user supplied data. In this attack pattern, the attacker uploads code that can execute in the client browser and/or redirect the client browser to a site that the attacker owns. All XSS attack payload variants can be used to pass and exploit these vulnerabilities.

Abstraction

Standard

Typical severity

High

Likelihood of attack

High

Understand the attack

What is this attack pattern?

An attack of this type involves an adversary inserting malicious characters (such as a XSS redirection) into a filename, directly or indirectly that is then used by the target software to generate HTML text or other potentially executable content. Many websites rely on user-generated content and dynamically build resources like files, filenames, and URL links directly from user supplied data. In this attack pattern, the attacker uploads code that can execute in the client browser and/or redirect the client browser to a site that the attacker owns. All XSS attack payload variants can be used to pass and exploit these vulnerabilities.

Requirements

What does the attack require?

Prerequisites

  • The victim must trust the name and locale of user controlled filenames.

Skills required

  • Low: To achieve a redirection and use of less trusted source, an attacker can simply edit data that the host uses to build the filename
  • Medium: Deploying a malicious "look-a-like" site (such as a site masquerading as a bank or online auction site) that the user enters their authentication data into.
  • High: Exploiting a client side vulnerability to inject malicious scripts into the browser's executable process.

Resources required

Not stated in the MITRE record.

Impact

What does a successful attack lead to?

Gain Privileges

Affected scopes: Confidentiality, Access Control, Authorization

Execute Unauthorized Commands

Affected scopes: Confidentiality, Integrity, Availability

Alter Execution Logic

Affected scopes: Availability

Read Data

Affected scopes: Confidentiality

Defence

How is it prevented and mitigated?

1
Design: Use browser technologies that do not allow client side scripting.
2
Implementation: Ensure all content that is delivered to client is sanitized against an acceptable content specification.
3
Implementation: Perform input validation for all remote content.
4
Implementation: Perform output validation for all remote content.
5
Implementation: Disable scripting languages such as JavaScript in browser
6
Implementation: Scan dynamically generated content against validation specification

Real world

MITRE example instances

Example instance 1Detail
Phishing attacks rely on a user clicking on links on that are supplied to them by attackers masquerading as a trusted resource such as a bank or online auction site. The end user's email client hosts the supplied resource name in this case via email. The resource name, however may either 1) direct the client browser to a malicious site to steal credentials and/or 2) execute code on the client machine to probe the victim's host system and network environment.
CAPEC-73: User-Controlled Filename — DayBreach Saldırı Sözlüğü · DayBreach