JDBC Connection Strings with Embedded Credentials
Developers often hardcode database credentials directly in JDBC connection strings within Java classes. This commonly occurs in data access objects (DAOs), connection factory classes, or configuration classes where database URLs containing usernames and passwords are defined as string literals, making them visible in source code and compiled bytecode.
Preview example – JAVA
// VULNERABLE: Database credentials in JDBC URL
public class DatabaseConnection {
private static final String DB_URL = "jdbc:mysql://prod-db.company.com:3306/app_database?user=admin&password=AdminPass123!";
private static final String USERNAME = "db_admin";
private static final String PASSWORD = "SuperSecretPassword123!";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
}
}