This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Cornucopia - Ecommerce Website - VE 5
Suit: Data Validation and Encoding
Card/Value: 5
Description:
Jee can bypass the centralized encoding routines since they are not being used everywhere, or the wrong encodings are being used.
Technical Note:
Centralized output encoding routines are a good programming practice, but developers need to understand how they work, how to use them and any limitations. Such routines can be tested independently of other code and not only provide assurance on the quality of the validation, but it makes refactorization an easy task and it eliminates code duplicates and bad interpretations. Ouput encodings are a must when handling data from un-trusted sources. It should also be a mandatory security check when outputting data to queries for SQL, XML, and LDAP and in every case when hazardous special characters must be allowed as input (such as < > " ' % ( ) & + \ \' \"). Some common attacks of bad implementation (or lack) of output encoding routines are:
- Cross Site Scripting (XSS).
- Code injection.
- Fuzzing.
If third party output encoding libraries are used, it is important to test each routine before its implementation.
NB: This card relates to bypass of output encoding. See VE 6 for the similar bypass of input data validation.
References:
OWASP SCP | OWASP ASVS | OWASP AppSensor | CAPEC | SAFECODE |
---|---|---|---|---|
3 | 5.19 | 28 | 2 | |
15 | 31 | 17 | ||
18 | 152 | |||
19 | 160 | |||
20 | 468 | |||
21 | ||||
22 | ||||
168 |