Access Control Issue - Improper Authentication

ID

access_control_issue_improper_authentication

Severity

critical

Kind

Access Control

CWE

287

Description

Insufficient Authentication occurs when a web site permits an attacker to access sensitive content or functionality without having to properly authenticate. Web-based administration tools are a good example of web sites providing access to sensitive functionality. Depending on the specific online resource, these web applications should not be directly accessible without requiring the user to properly verify their identity.

To get around setting up authentication, some resources are protected by "hiding" the specific location and not linking the location into the main web site or other public places. However, this approach is nothing more than "Security Through Obscurity". It’s important to understand that even though a resource is unknown to an attacker, it still remains accessible directly through a specific URL. The specific URL could be discovered through a Brute Force probing for common file and directory locations (/admin for example), error messages, referrer logs, or documentation such as help files. These resources, whether they are content- or functionality-driven, should be adequately protected.

Rationale

Improper authentication allows attackers to bypass identity verification and access sensitive resources without proving their identity. Attackers can discover unprotected resources through brute force enumeration of common paths, documentation, error messages, or referrer logs. Once discovered, these resources remain directly accessible via URL, enabling unauthorized access to administrative functions, user data, or other restricted content. The vulnerability is particularly severe because it grants complete access without requiring credential compromise.

Remediation

Implement robust authentication using a vetted framework such as OWASP ESAPI Authentication. Ensure all sensitive resources and functionality require proper authentication before access is granted. Do not rely on security through obscurity by hiding URLs or paths. Apply authentication checks at the application layer and enforce them consistently across all protected endpoints. Use session management that properly tracks authenticated state and invalidates sessions on logout or timeout.