CAPEC Definitions

    CAPEC Definitions / CAPEC-127

    CAPEC-127: Directory Indexing

    An adversary crafts a request to a target that results in the target listing/indexing the content of a directory as output. One common method of triggering directory contents as output is to construct a request containing a path that terminates in a directory name rather than a file name since many applications are configured to provide a list of the directory's contents when such a request is received. An adversary can use this to explore the directory tree on a target as well as learn the names of files. This can often end up revealing test files, backup files, temporary files, hidden files, configuration files, user accounts, script contents, as well as naming conventions, all of which can be used by an attacker to mount additional attacks.

    Severity:Medium
    Possibility:High

    Extended Description

    No Extended Description.

    Mitigations

    1. Using blank index.html: putting blank index.html simply prevent directory listings from displaying to site visitors.

    2. Preventing with .htaccess in Apache web server: In .htaccess, write Options-indexes.

    3. Suppressing error messages: using error 403 Forbidden message exactly like error 404 Not Found message.

    Relationships with other CAPECs

    CAPEC-54: Query System for Information

    Prerequisites

    The target must be misconfigured to return a list of a directory's content when it receives a request that ends in a directory name rather than a file name.

    The adversary must be able to control the path that is requested of the target.

    The administrator must have failed to properly configure an ACL or has associated an overly permissive ACL with a particular directory.

    The server version or patch level must not inherently prevent known directory listing attacks from working.

    Related Weaknesses

    CWE-424: Improper Protection of Alternate Path

    CWE-425: Direct Request ('Forced Browsing')

    CWE-288: Authentication Bypass Using an Alternate Path or Channel

    CWE-285: Improper Authorization

    CWE-732: Incorrect Permission Assignment for Critical Resource

    CWE-276: Incorrect Default Permissions

    CWE-693: Protection Mechanism Failure