BaşlayınÜcretsiz Başlayın

İ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ır
Kursu Görüntüle

Egzersiz 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"));
            }
        }
    }
}
Kodu Düzenle ve Çalıştır