MulaiMulai sekarang secara gratis

Meretas pernyataan

CityBook Libraries sedang mengembangkan fitur pencarian yang memungkinkan pengguna mencari buku berdasarkan judul. Anda khawatir tentang keamanan sistem, sehingga Anda memutuskan untuk mengujinya terhadap serangan SQL injection.

Validasi apakah Anda dapat mengambil data tanpa izin menggunakan SQL injection. Kelas HikariSetup sudah dikonfigurasi.

Latihan ini adalah bagian dari kursus

Melakukan Query ke Basis Data PostgreSQL di Java

Lihat Kursus

Petunjuk latihan

  • Ubah titleParameter untuk menyuntikkan sebuah kondisi yang memungkinkan pembacaan semua buku.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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"));
            }
        }
    }
}
Edit dan Jalankan Kode