T 4.84 Inadequate validation of input and output data in web applications

In general, web applications are used by generic clients (web browsers) so that users can transmit any input data to the server. If malicious input by an attacker is processed by the web application, it may become possible to bypass protection mechanisms of the web applications.

Examples for attacks to web applications based on inadequate validation of input data are SQL injection (see T 5.131 SQL injection), Path Traversal (see T 5.172 Bypassing the authorisation in web applications) and Remote File Inclusion. These attacks can enable unauthorised persons to access the operating system or background systems. In case of a successful attack, data requiring protection can be read or manipulated without authorisation.

Usually, the successful processing of the input data by the web application is followed by an output of data. The output data can either be transmitted to the user's browser (e.g. status messages or a new entry in the guest book) or passed on to downstream systems. If the data is not adequately validated before output, the output data may contain malicious codes which are interpreted or executed on the target systems.

The following examples describe possible consequences of inadequate validation of input and output data: