| Home > CAPEC List > CAPEC-71: Using Unicode Encoding to Bypass Validation Logic (Version 3.9) |
|
Medium
High
| Nature | Type | ID | Name |
|---|---|---|---|
| ChildOf | Standard Attack PatternStandard Attack Pattern - A standard level attack pattern in CAPEC is focused on a specific methodology or technique used in an attack. It is often seen as a singular piece of a fully executed attack. A standard attack pattern is meant to provide sufficient details to understand the specific technique and how it attempts to accomplish a desired goal. A standard level attack pattern is a specific type of a more abstract meta level attack pattern. | 267 | Leverage Alternate Encoding |
| PeerOf | Detailed Attack PatternDetailed Attack Pattern - A detailed level attack pattern in CAPEC provides a low level of detail, typically leveraging a specific technique and targeting a specific technology, and expresses a complete execution flow. Detailed attack patterns are more specific than meta attack patterns and standard attack patterns and often require a specific protection mechanism to mitigate actual attacks. A detailed level attack pattern often will leverage a number of different standard level attack patterns chained together to accomplish a goal. | 80 | Using UTF-8 Encoding to Bypass Validation Logic |
| View Name | Top Level Categories |
|---|---|
| Domains of Attack | Software |
| Mechanisms of Attack | Manipulate Data Structures |
Survey the application for user-controllable inputs: Using a browser or an automated tool, an attacker follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.
| Techniques |
|---|
| Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL. |
| Use a proxy tool to record all user input entry points visited during a manual traversal of the web application. |
| Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery. |
Probe entry points to locate vulnerabilities: The attacker uses the entry points gathered in the "Explore" phase as a target list and injects various Unicode encoded payloads to determine if an entry point actually represents a vulnerability with insufficient validation logic and to characterize the extent to which the vulnerability can be exploited.
| Techniques |
|---|
| Try to use Unicode encoding of content in Scripts in order to bypass validation routines. |
| Try to use Unicode encoding of content in HTML in order to bypass validation routines. |
| Try to use Unicode encoding of content in CSS in order to bypass validation routines. |
| Scope | Impact | Likelihood |
|---|---|---|
Confidentiality Access Control Authorization | Bypass Protection Mechanism | |
Confidentiality Integrity Availability | Execute Unauthorized Commands | |
Integrity | Modify Data | |
Availability | Unreliable Execution |
A very common technique for a Unicode attack involves traversing directories looking for interesting files. An example of this idea applied to the Web is
In this case, the attacker is attempting to traverse to a directory that is not supposed to be part of standard Web services. The trick is fairly obvious, so many Web servers and scripts prevent it. However, using alternate encoding tricks, an attacker may be able to get around badly implemented request filters.
In October 2000, an adversary publicly revealed that Microsoft's IIS server suffered from a variation of this problem. In the case of IIS, all the attacker had to do was provide alternate encodings for the dots and/or slashes found in a classic attack. The Unicode translations are
Using this conversion, the previously displayed URL can be encoded as
| CWE-ID | Weakness Name |
|---|---|
| 176 | Improper Handling of Unicode Encoding |
| 179 | Incorrect Behavior Order: Early Validation |
| 180 | Incorrect Behavior Order: Validate Before Canonicalize |
| 173 | Improper Handling of Alternate Encoding |
| 172 | Encoding Error |
| 184 | Incomplete List of Disallowed Inputs |
| 183 | Permissive List of Allowed Inputs |
| 74 | Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') |
| 20 | Improper Input Validation |
| 697 | Incorrect Comparison |
| 692 | Incomplete Denylist to Cross-Site Scripting |
| Entry Name |
|---|
| Unicode Encoding |
| Submissions | ||
|---|---|---|
| Submission Date | Submitter | Organization |
| 2014年06月23日 (Version 2.6) | CAPEC Content Team | The MITRE Corporation |
| Modifications | ||
| Modification Date | Modifier | Organization |
| 2017年01月09日 (Version 2.9) | CAPEC Content Team | The MITRE Corporation |
| Updated Related_Attack_Patterns | ||
| 2018年07月31日 (Version 2.12) | CAPEC Content Team | The MITRE Corporation |
| Updated References | ||
| 2020年07月30日 (Version 3.3) | CAPEC Content Team | The MITRE Corporation |
| Updated Execution_Flow, Mitigations | ||
| 2020年12月17日 (Version 3.4) | CAPEC Content Team | The MITRE Corporation |
| Updated Taxonomy_Mappings | ||
| 2021年06月24日 (Version 3.5) | CAPEC Content Team | The MITRE Corporation |
| Updated Related_Weaknesses | ||
| 2022年09月29日 (Version 3.8) | CAPEC Content Team | The MITRE Corporation |
| Updated Example_Instances | ||
|
Use of the Common Attack Pattern Enumeration and Classification (CAPEC), and the associated references from this website are subject to the Terms of Use. Copyright © 2007–2025, The MITRE Corporation. CAPEC and the CAPEC logo are trademarks of The MITRE Corporation. |
||