SWEN-331: Engineering Secure Software Benjamin S Meyers
VOTD: SQL Injection
Engineering Secure Software
Last Revised: September 3, 2020 1
VOTD: SQL Injection Engineering Secure Software Last Revised: - - PowerPoint PPT Presentation
VOTD: SQL Injection Engineering Secure Software Last Revised: September 3, 2020 SWEN-331: Engineering Secure Software Benjamin S Meyers 1 What is SQL Injection? Manipulating query strings to execute code Injecting SQL commands into
SWEN-331: Engineering Secure Software Benjamin S Meyers
Last Revised: September 3, 2020 1
SWEN-331: Engineering Secure Software Benjamin S Meyers
2
SWEN-331: Engineering Secure Software Benjamin S Meyers
3
private static String auth(String user, String pwd, Connection conn) throws SQLException { ResultSet resultSet; resultSet = conn.createStatement().executeQuery( "SELECT * FROM Users WHERE Username='" + user + "' AND Password='" + pwd + "'"); // BAD ^^^^^^ BAD ^^^^^ if (resultSet.next()) // any rows? return "Authenticated!!"; else return "Not authenticated!!"; }
SWEN-331: Engineering Secure Software Benjamin S Meyers
4
SWEN-331: Engineering Secure Software Benjamin S Meyers
5
SWEN-331: Engineering Secure Software Benjamin S Meyers
6
SWEN-331: Engineering Secure Software Benjamin S Meyers
7
SWEN-331: Engineering Secure Software Benjamin S Meyers 8
Source: https://cwe.mitre.org/top25/archive/2020/2020_cwe_top25.html
SWEN-331: Engineering Secure Software Benjamin S Meyers 9 Source: https://xkcd.com/327/