...
- command processor via a call to
system()
or similar function - relational databases
- third-party COTS components (e.g., an enterprise resource planning subsystem)
Non-Compliant Code Example
Wiki Markup |
---|
Data sanitization requires an understanding of the data being passed and the capabilities of the subsystem. John Viega and Matt Messier provide an example of an application that inputs an email address into a buffer and then uses this string as an argument in a call to {{system()}} \[Viega 03\]: |
Code Block |
---|
sprintf(buffer, "/bin/mail %s < /tmp/email", addr); system(buffer); h2. Non-Compliant Code Example |
The risk is, of course, that the user enters the following string as an email address:
...