Symptom Code

As the name of the approach implies, insecure coding practices or techniques that result in web application vulnerabilities are called symptoms or, more specifically, symptom code . To avoid confusion, the terms symptom code and vulnerability are defined as follows:

Symptom code

Insecure code or coding practices which often lead to exposures or vulnerabilities in web applications. A symptom is not necessarily exploitable. A particular symptom can lead to single or multiple vulnerabilities.

Vulnerability

An exploitable symptom that allows an attacker to manipulate the application in a fashion that was not intended by the developer.

Table 6-2 provides a list of example symptoms and the potential vulnerabilities/attacks that stem from them. This list assumes the reader is already familiar with common web application vulnerabilities and attacks.

Table 6-2. Symptoms of common web application vulnerabilities/attacks

Symptom

Vulnerability/attack

Dynamic SQL

SQL injection

Dangerous functions

Buffer overflows

Methods for executing commands

Command injection

File I/O methods

Arbitrary filesystem interaction (i.e., creation/deletion/modification/reading of any file)

Writing inline request objects

Cross-site scripting

Cookie access methods

Broken access control

Hardcoded plain-text passwords

Unauthorized access, information leakage

The presence of a symptom doesn’t guarantee the code has a particular vulnerability. Once you identify a symptom, you need to analyze the ...

Get Network Security Tools now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.