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.