This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "Forced browsing"

From OWASP
Jump to: navigation, search
(Related Attacks: Updated a link that was redirecting to the other link aka path manipulation redirected to path traversal)
 
(35 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Template:Attack}}
+
[[Category:OWASP ASDR Project]]
 
 
 
==Description==
 
==Description==
 +
Forced browsing is an attack where the aim is to enumerate and access resources that are not referenced by the application, but are still accessible.
  
Forced browsing is an attack that’s aim to enumerate and access resources that are not referenced by the application, but still can be accessible.
+
An attacker can use [[Brute force attack|Brute Force]] techniques to search for unlinked contents in the domain directory, such as temporary directories and files, and old backup and configuration files. These resources may store sensitive information about web applications and operational systems, such as source code, credentials, internal network addressing, and so on, thus being considered a valuable resource for intruders.
 
 
An attacker can use brute force techniques to search for unlinked contents in domain directory, such as temporary directories and files, old backup and configuration files. These resources may store sensitive information about web applications and operational system, such as source code, credentials, internal network addressing, and so on, thus being considered a valuable resource for intruders.
 
 
   
 
   
This attack should be performed manually when the application index directories and pages based on number generation or predictable values,  or using automated  tools for common files and directories names.
+
This attack is performed manually when the application index directories and pages are based on number generation or predictable values,  or using automated  tools for common files and directory names.
  
 
This attack is also known as Predictable Resource Location, File Enumeration, Directory Enumeration, and Resource Enumeration.
 
This attack is also known as Predictable Resource Location, File Enumeration, Directory Enumeration, and Resource Enumeration.
  
 +
<!--==Risk Factors==
 +
TBD-->
 +
[[Category:FIXME|need content]]
  
==Examples ==
+
==Examples==
 
 
  
 
===Example 1===
 
===Example 1===
 
 
This example presents a technique of Predictable Resource Location attack, which is based on a manual and oriented identification of resources by modifying URL parameters.  
 
This example presents a technique of Predictable Resource Location attack, which is based on a manual and oriented identification of resources by modifying URL parameters.  
The user1 wants to check his on-line agenda that is done thru the following URL:  
+
The user1 wants to check his on-line agenda through the following URL:  
  
 
  <nowiki> www.site-example.com/users/calendar.php/user1/20070715 </nowiki>
 
  <nowiki> www.site-example.com/users/calendar.php/user1/20070715 </nowiki>
  
In the URL, it is possible to identify the username (“user1”) and the date (mm/dd/yyyy).If the user attempts to make a forced browsing attack, he could guess another user’s agenda by predicting user identification and date, as follow:  
+
In the URL, it is possible to identify the username (“user1”) and the date (mm/dd/yyyy). If the user attempts to make a forced browsing attack, he could guess another user’s agenda by predicting user identification and date, as follow:  
  
 
  <nowiki> www.site-example.com/users/calendar.php/user6/20070716 </nowiki>
 
  <nowiki> www.site-example.com/users/calendar.php/user6/20070716 </nowiki>
  
The attack can be considered successful upon accessing other user agenda. A bad implementation of the authorization mechanism also collaborated for this attack success.
+
The attack can be considered successful upon accessing other user's agenda. A bad implementation of the authorization mechanism contributed to this attack's success.
 
 
  
 
===Example 2 ===
 
===Example 2 ===
 +
This example presents  an attack of static directory and file enumeration using an automated tool.
  
This example presents how to perform an attack of static directory and file enumeration using an automated tool.
+
A scanning tool, like [http://www.cirt.net/code/nikto.shtml Nikto], has the ability to search for existing files and directories based on a database of well-know resources, such as:
 
 
A scanning tool, like [http://www.cirt.net/code/nikto.shtml | Nikto], has the ability to search for existent files and directories based on a database of well-know resources, such as:
 
  
 
  /system/
 
  /system/
Line 41: Line 38:
 
  /test/
 
  /test/
  
When the tool receives and “HTTP 200” message it means that such resource was found and should be manually inspected for valuable information.  
+
When the tool receives an “HTTP 200” message it means that such resource was found and should be manually inspected for valuable information.
 
 
 
 
==External References==
 
 
 
*Forceful Browsing – Imperva Application Data Security and Compliance -  http://www.imperva.com/application_defense_center/glossary/forceful_browsing.html
 
 
 
*Parameter fuzzing and forced browsing – WebAppSec - http://seclists.org/webappsec/2006/q3/0182.html
 
  
*http://www.webappsec.org/projects/threat/classes/predictable_resource_location.shtml
+
==Related [[Threat Agents]]==
 +
* [[Internal software developer]]
  
*http://cwe.mitre.org/data/definitions/425.html
+
==Related [[Attacks]]==
 +
* [[Path Traversal|Path Traversal (Path Manipulation)]]
  
 +
==Related [[Vulnerabilities]]==
 +
* [[:Category:Access Control Vulnerability]]
  
==Related Threats==
+
==Related [[Controls]]==
 +
* [[:Category: Access Control]]
  
[[:Category: Information Disclosure]]
+
==References==
 
+
* Forceful Browsing – Imperva Application Data Security and Compliance http://www.imperva.com/application_defense_center/glossary/forceful_browsing.html
 
+
* Parameter fuzzing and forced browsing – WebAppSec - http://seclists.org/webappsec/2006/q3/0182.html
==Related Attacks==
+
* http://www.webappsec.org/projects/threat/classes/predictable_resource_location.shtml
 
+
* http://cwe.mitre.org/data/definitions/425.html
*[[Path Traversal]]
 
 
 
*[[Path Manipulation]]
 
 
 
 
 
==Related Vulnerabilities==
 
 
 
[[:Category:Access Control Vulnerability]]
 
 
 
 
 
==Related Countermeasures==
 
 
 
[[:Category: Access Control]]
 
 
 
 
 
==Categories==
 
 
{{Template:Stub}}
 
  
[[Category:Resource Manipulation]]
+
[[category:Resource Manipulation]]
 +
[[Category:Attack]]
 +
__NOTOC__

Latest revision as of 20:04, 18 July 2018

Description

Forced browsing is an attack where the aim is to enumerate and access resources that are not referenced by the application, but are still accessible.

An attacker can use Brute Force techniques to search for unlinked contents in the domain directory, such as temporary directories and files, and old backup and configuration files. These resources may store sensitive information about web applications and operational systems, such as source code, credentials, internal network addressing, and so on, thus being considered a valuable resource for intruders.

This attack is performed manually when the application index directories and pages are based on number generation or predictable values, or using automated tools for common files and directory names.

This attack is also known as Predictable Resource Location, File Enumeration, Directory Enumeration, and Resource Enumeration.

Examples

Example 1

This example presents a technique of Predictable Resource Location attack, which is based on a manual and oriented identification of resources by modifying URL parameters. The user1 wants to check his on-line agenda through the following URL:

 www.site-example.com/users/calendar.php/user1/20070715 

In the URL, it is possible to identify the username (“user1”) and the date (mm/dd/yyyy). If the user attempts to make a forced browsing attack, he could guess another user’s agenda by predicting user identification and date, as follow:

 www.site-example.com/users/calendar.php/user6/20070716 

The attack can be considered successful upon accessing other user's agenda. A bad implementation of the authorization mechanism contributed to this attack's success.

Example 2

This example presents an attack of static directory and file enumeration using an automated tool.

A scanning tool, like Nikto, has the ability to search for existing files and directories based on a database of well-know resources, such as:

/system/
/password/
/logs/
/admin/
/test/

When the tool receives an “HTTP 200” message it means that such resource was found and should be manually inspected for valuable information.

Related Threat Agents

Related Attacks

Related Vulnerabilities

Related Controls

References