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
Petunjuk latihan
- Ubah
titleParameteruntuk 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"));
}
}
}
}