Atacând instrucțiunile
Biblioteca CityBook dezvoltă o funcție de căutare care le permite utilizatorilor să găsească cărți după titlu. Îți faci griji cu privire la securitatea sistemului, așa că ai decis să testezi dacă este vulnerabilă la atacuri de tip SQL injection.
Verifică dacă poți accesa date neautorizate folosind SQL injection. Clasa HikariSetup este deja configurată.
Acest exercițiu face parte din cursul
Interogarea unei baze de date PostgreSQL în Java
Instrucțiuni pentru exercițiu
- Modifică
titleParameterpentru a injecta o condiție care să permită citirea tuturor cărților.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
public class Main {
public static void main(String[] args) throws SQLException {
HikariDataSource ds = HikariSetup.createDataSource();
// Change the title to inject a condition that will allow reading all books
String titleParameter = "To Kill a Mockingbird";
String query = "SELECT * FROM books WHERE title = '" + titleParameter + "'";
try (Connection conn = ds.getConnection()) {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.printf("ID: %d, Title: %s (%d)%n", rs.getInt("book_id"), rs.getString("title"), rs.getInt("publication_year"));
}
}
}
}