CWE-551 不正确的行为次序:在解析与净化处理之前进行授权

Incorrect Behavior Order: Authorization Before Parsing and Canonicalization

结构: Simple

Abstraction: Base

状态: Incomplete

被利用可能性: unkown

基本描述

If a web server does not fully parse requested URLs before it examines them for authorization, it may be possible for an attacker to bypass authorization protection.

扩展描述

For instance, the character strings /./ and / both mean current directory. If /SomeDirectory is a protected directory and an attacker requests /./SomeDirectory, the attacker may be able to gain access to the resource if /./ is not converted to / before the authorization check is performed.

相关缺陷

  • cwe_Nature: ChildOf cwe_CWE_ID: 863 cwe_View_ID: 1000 cwe_Ordinal: Primary

  • cwe_Nature: ChildOf cwe_CWE_ID: 863 cwe_View_ID: 699 cwe_Ordinal: Primary

  • cwe_Nature: ChildOf cwe_CWE_ID: 696 cwe_View_ID: 1000

常见的影响

范围 影响 注释
Access Control Bypass Protection Mechanism

可能的缓解方案

Architecture and Design

策略:

URL Inputs should be decoded and canonicalized to the application's current internal representation before being validated and processed for authorization. Make sure that your application does not decode the same input twice. Such errors could be used to bypass whitelist schemes by introducing dangerous inputs after they have been checked.