ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Modifică titleParameter pentru 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"));
            }
        }
    }
}
Editează și rulează codul