Information disclosure

Introduction

The information disclosure vulnerability consists of websites unintentionally showing the user sensitive information, which can be useful for future attacks.

Examples of sensitive information are:

  • Business data or personal information about a user.

  • Debugging data, error messages or stack traces that reveal source code.

  • Information about the infrastructure:

    • Software used and its version.

    • Hidden directories

    • API keys or credentials

  • Backup files.

This data is usually found during the enumeration phase while fuzzing and analysing the web application. Nonetheless, in this section appears several techniques that you can use in order to obtain such information.

Sensitive directories and files

In the enumeration phase, there are several important files/directories, such as .git, robots.txt, sitemap.xml and .well-known, pointing to other files with sensitive information or directories with directory listing enabled. Also, both things can be discovered by performing directory or file enumeration.

Developer comments

During the development of the web page, the programmers could have written comments on the HTML code of the website or inside the JavaScript libraries.

The comments can be easily obtained by using the BurpSuite Tool on Target/Site map/<Right_Click_on_domain>/Engagement tools/Find comments

Error, debug messages or stack traces

The verbose error messages can expose a lot of sensitive information about the application, like the number of arguments and data types expected, functions executed, the technology used and its version, etc.

This information can be helpful because you can easily search for any documented exploits that may exist for this version or misconfiguration errors.

Usually, to obtain this kind of information, you might need to send unexpected data types, such as sending a string instead of the expected number, negative values, random symbols, etc. or not sending data at all, leaving the parameter empty.

Also, try looking at the web browser console because many developers show log messages during the execution of the application.

Sensitive data on headers

Most of web servers provide information about their infrastructure through headers on the response. Some examples of headers that disclose information about the server are Server, X-Powered-By, X-CMS, X-Php-Version, etc.

References

Last updated