Summary
Attempts to enumerate valid usernames on web servers running with the mod_userdir module or similar enabled.
The Apache mod_userdir module allows user-specific directories to be accessed using the http://example.com/~user/ syntax. This script makes http requests in order to discover valid user- specific directories and infer valid usernames. By default, the script will use Nmap's 'nselib/data/usernames.lst'. An HTTP response status of 200 or 403 means the username is likely a valid one and the username will be output in the script results along with the status code (in parentheses).
This script makes an attempt to avoid false positives by requesting a directory which is unlikely to exist. If the server responds with 200 or 403 then the script will not continue testing it.
CVE-2001-1013: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2001-1013.
SYNTAX:
userdir.users: The filename of a username list.
http.useragent: The value of the User-Agent header field sent with requests. By default it is
''Mozilla/5.0 (compatible
Nmap Scripting Engine
http://nmap.org/book/nse.html)''.
A value of the empty string disables sending the User-Agent header field.
limit: The maximum number of users to check.
http-max-cache-size: The maximum memory size (in bytes) of the cache.
http.pipeline: If set, it represents the number of HTTP requests that'll be pipelined (ie, sent in a single request). This can be set low to make debugging easier, or it can be set high to test how a server reacts (its chosen max is ignored).
TODO
Implement cache system for http pipelines