Difference between revisions of "Leftover Debug Code"
Weilin Zhong (talk | contribs) |
Weilin Zhong (talk | contribs) |
||
| Line 1: | Line 1: | ||
{{Template:Vulnerability}} | {{Template:Vulnerability}} | ||
| + | {{Template:Fortify}} | ||
| + | |||
| + | ==Abstract== | ||
| + | |||
| + | Debug code can create unintended entry points in a deployed web application. | ||
==Description== | ==Description== | ||
| + | |||
| + | A common development practice is to add "back door" code specifically designed for debugging or testing purposes that is not intended to be shipped or deployed with the application. When this sort of debug code is accidentally left in the application, the application is open to unintended modes of interaction. These back door entry points create security risks because they are not considered during design or testing and fall outside of the expected operating conditions of the application. | ||
==Examples == | ==Examples == | ||
| + | |||
| + | The most common example of forgotten debug code is a main() method appearing in a web application. Although this is an acceptable practice during product development, classes that are part of a production J2EE application should not define a main(). | ||
| + | |||
| + | ==Related Principles == | ||
| + | |||
| + | [[Use encapsulate]] | ||
==Related Threats== | ==Related Threats== | ||
| Line 15: | Line 28: | ||
==Categories== | ==Categories== | ||
| − | + | [[Category:Code Quality Vulnerability]] | |
[[Category:Implementation]] | [[Category:Implementation]] | ||
| + | |||
| + | [[Category:Java]] | ||
Revision as of 15:45, 21 July 2006
This is a Vulnerability. To view all vulnerabilities, please see the Vulnerability Category page.
Abstract
Debug code can create unintended entry points in a deployed web application.
Description
A common development practice is to add "back door" code specifically designed for debugging or testing purposes that is not intended to be shipped or deployed with the application. When this sort of debug code is accidentally left in the application, the application is open to unintended modes of interaction. These back door entry points create security risks because they are not considered during design or testing and fall outside of the expected operating conditions of the application.
Examples
The most common example of forgotten debug code is a main() method appearing in a web application. Although this is an acceptable practice during product development, classes that are part of a production J2EE application should not define a main().