İfadeleri hacklemek
CityBook Libraries, kullanıcıların başlığa göre kitap aramasını sağlayan bir arama özelliği geliştiriyor. Sistem güvenliğinden endişe duyduğun için bunu SQL injection saldırılarına karşı test etmeye karar verdin.
SQL injection kullanarak yetkisiz verileri çekip çekemeyeceğini doğrula. HikariSetup sınıfı zaten yapılandırıldı.
Bu egzersiz
Java ile PostgreSQL Veritabanına Sorgu Yazma
kursunun bir parçasıdırEgzersiz talimatları
- Tüm kitapları okuyabilmeye izin verecek bir koşul enjekte etmek için
titleParameter'ı değiştir.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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"));
}
}
}
}