Name |
Forceful Browsing |
|
Likelyhood of attack |
Typical severity |
High |
High |
|
Summary |
An attacker employs forceful browsing (direct URL entry) to access portions of a website that are otherwise unreachable. Usually, a front controller or similar design pattern is employed to protect access to portions of a web application. Forceful browsing enables an attacker to access information, perform privileged operations and otherwise reach sections of the web application that have been improperly protected. |
Prerequisites |
The forcibly browseable pages or accessible resources must be discoverable and improperly protected. |
Execution Flow |
Step |
Phase |
Description |
Techniques |
1 |
Explore |
[Spider] Using an automated tool, an attacker follows all public links on a web site. They record all the links they find. |
- Use a spidering tool to follow and record all links.
- Use a proxy tool to record all links visited during a manual traversal of the web application.
|
2 |
Experiment |
[Attempt well-known or guessable resource locations] Using an automated tool, an attacker requests a variety of well-known URLs that correspond to administrative, debugging, or other useful internal actions. They record all the positive responses from the server. |
- Use a spidering tool to follow and record attempts on well-known URLs.
- Use a proxy tool to record all links visited during a manual traversal of attempts on well-known URLs.
|
3 |
Exploit |
[Use unauthorized resources] By visiting the unprotected resource, the attacker makes use of unauthorized functionality. |
- Access unprotected functions and execute them.
|
4 |
Exploit |
[View unauthorized data] The attacker discovers and views unprotected sensitive data. |
- Direct request of protected pages that directly access database back-ends. (e.g., list.jsp, accounts.jsp, status.jsp, etc.)
|
|
Solutions | Authenticate request to every resource. In addition, every page or resource must ensure that the request it is handling has been made in an authorized context. Forceful browsing can also be made difficult to a large extent by not hard-coding names of application pages or resources. This way, the attacker cannot figure out, from the application alone, the resources available from the present context. |
Related Weaknesses |
CWE ID
|
Description
|
CWE-285 |
Improper Authorization |
CWE-425 |
Direct Request ('Forced Browsing') |
CWE-693 |
Protection Mechanism Failure |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-115 |
An attacker gains access to application, service, or device with the privileges of an authorized or privileged user by evading or circumventing an authentication mechanism. The attacker is therefore able to access protected data without authentication ever having taken place. This refers to an attacker gaining access equivalent to an authenticated user without ever going through an authentication procedure. This is usually the result of the attacker using an unexpected access procedure that does not go through the proper checkpoints where authentication should occur. For example, a web site might assume that all users will click through a given link in order to get to secure material and simply authenticate everyone that clicks the link. However, an attacker might be able to reach secured web content by explicitly entering the path to the content rather than clicking through the authentication link, thereby avoiding the check entirely. This attack pattern differs from other authentication attacks in that attacks of this pattern avoid authentication entirely, rather than faking authentication by exploiting flaws or by stealing credentials from legitimate users. |
|
Taxonomy: WASC |
Entry ID
|
Entry Name
|
34 |
Predictable Resource Location |
|
Taxonomy: OWASP Attacks |
Entry ID
|
Entry Name
|
Link |
Forced browsing |
|