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, kursun bir parçasıdır

Java ile PostgreSQL Veritabanına Sorgu Yazma

Kursa Göz Atın

Egzersiz talimatları

  • Tüm kitapları okuyabilmeye izin verecek bir koşul enjekte etmek için titleParameter'ı değiştir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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