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

Difference between revisions of "J2EE Bad Practices: getConnection()"

From OWASP
Jump to: navigation, search
Line 1: Line 1:
{{Template:Vulnerability}}
+
{{template:CandidateForDeletion}}
{{Template:Fortify}}
+
 
 +
#REDIRECT [[Failure to follow guideline/specification]]
 +
 
  
 
__TOC__
 
__TOC__
Line 62: Line 64:
  
 
TBD
 
TBD
[[Category:FIXME|add links
 
 
In addition, one should classify vulnerability based on the following subcategories: Ex:<nowiki>[[Category:Error Handling Vulnerability]]</nowiki>
 
 
Availability Vulnerability
 
 
Authorization Vulnerability
 
 
Authentication Vulnerability
 
 
Concurrency Vulnerability
 
 
Configuration Vulnerability
 
 
Cryptographic Vulnerability
 
 
Encoding Vulnerability
 
 
Error Handling Vulnerability
 
 
Input Validation Vulnerability
 
 
Logging and Auditing Vulnerability
 
 
Session Management Vulnerability]]
 
 
__NOTOC__
 
 
 
[[Category:OWASP ASDR Project]]
 
[[Category:Implementation]]
 
[[Category:Java]]
 
[[Category:Code Snippet]]
 
[[Category:Use of Dangerous API]]
 
[[Category:API Abuse]]
 

Revision as of 14:11, 17 February 2009

Template:CandidateForDeletion

#REDIRECT Failure to follow guideline/specification


ASDR Table of Contents

Last revision (mm/dd/yy): 02/17/2009

Description

The J2EE standard forbids the direct management of connections.

The J2EE standard requires that applications use the container's resource management facilities to obtain connections to resources.


Risk Factors

TBD

Examples

For example, a J2EE application should obtain a database connection as follows:

 ctx = new InitialContext();
 datasource = (DataSource)ctx.lookup(DB_DATASRC_REF);
 conn = datasource.getConnection();

and should avoid obtaining a connection in this way:

 conn = DriverManager.getConnection(CONNECT_STRING);

Every major web application container provides pooled database connection management as part of its resource management framework. Duplicating this functionality in an application is difficult and error prone, which is part of the reason it is forbidden under the J2EE standard.


Related Attacks


Related Vulnerabilities


Related Controls


Related Technical Impacts


References

TBD