CAPEC-80
Using UTF-8 Encoding to Bypass Validation Logic
This attack is a specific variation on leveraging alternate encodings to bypass validation logic. This attack leverages the possibility to encode potentially harmful input in UTF-8 and submit it to applications not expecting or effective at validating this encoding standard making input filtering difficult. UTF-8 (8-bit UCS/Unicode Transformation Format) is a variable-length character encoding for Unicode. Legal UTF-8 characters are one to four bytes long. However, early version of the UTF-8 specification got some entries wrong (in some cases it permitted overlong characters). UTF-8 encoders are supposed to use the "shortest possible" encoding, but naive decoders may accept encodings that are longer than necessary. According to the RFC 3629, a particularly subtle form of this attack can be carried out against a parser which performs security-critical validity checks against the UTF-8 encoded form of its input, but interprets certain illegal octet sequences as characters.
Soyutlama
Detailed
Tipik ciddiyet
High
Saldırı ihtimali
High
Saldırıyı anla
Bu saldırı kalıbı nedir?
Uygulama akışı
Saldırı adım adım nasıl ilerler?
Explore
Survey the application for user-controllable inputs
Kullanılan teknikler
- 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.
Experiment
Probe entry points to locate vulnerabilities
Kullanılan teknikler
- Try to use UTF-8 encoding of content in Scripts in order to bypass validation routines.
- Try to use UTF-8 encoding of content in HTML in order to bypass validation routines.
- Try to use UTF-8 encoding of content in CSS in order to bypass validation routines.
Gereksinimler
Saldırının gerçekleşmesi için ne gerekir?
Ön koşullar
- The application's UTF-8 decoder accepts and interprets illegal UTF-8 characters or non-shortest format of UTF-8 encoding.
- Input filtering and validating is not done properly leaving the door open to harmful characters for the target host.
Gerekli beceri
- Low: An attacker can inject different representation of a filtered character in UTF-8 format.
- Medium: An attacker may craft subtle encoding of input data by using the knowledge that they have gathered about the target host.
Gerekli kaynak
MITRE kaydında belirtilmemiş.
Tespit
Saldırının göstergeleri nelerdir?
Etki
Başarılı saldırı neye yol açar?
Etkilenen alanlar: Confidentiality, Access Control, Authorization
Etkilenen alanlar: Confidentiality, Integrity, Availability
Etkilenen alanlar: Integrity
Etkilenen alanlar: Availability
Savunma
Nasıl önlenir ve etkisi azaltılır?
Gerçek dünya