SQLi
SQL Injection in Java
javaCopy codeString query = "SELECT * FROM users WHERE username = '" + username + "' AND password = '" + password + "'";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(query);javaCopy codeString query = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement pstmt = connection.prepareStatement(query);
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();Vulnerable Code
import java.sql.*;
public class UserDao {
public User getUser(String username, String password) throws SQLException {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/users", "root", "password");
String sql = "SELECT * FROM users WHERE username = '" + username + "' AND password = '" + password + "'";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// Process result set and return user
}
}Reason for Vulnerability:
Fixed Code:
Reason for Fix:
Java Example
Vulnerable Code:
Reason for Vulnerability:
Fixed Code:
Reason for Fix:
Python Example
Vulnerable Code:
Reason for Vulnerability:
Fixed Code:
Reason for Fix:
NoSQL Injection
Last updated