Web Güvenliği
SQL Injection Saldırıları ve Korunma Yöntemleri
SQL Injection, web uygulamalarındaki en yaygın ve tehlikeli güvenlik açıklarından biridir.
Kullanıcı girdileri üzerinden SQL sorgularına zararlı kod enjekte edilmesidir. Saldırgan, veritabanındaki verileri okuyabilir, değiştirebilir veya silebilir.
Bu girdi ile SQL sorgusu manipüle edilerek tüm kullanıcılar adına giriş yapılabilir.
Prepared Statements (Hazırlıklı İfadeler): PDO veya MySQLi ile parametre bağlama kullanın.
Input Validation: Kullanıcı girdilerini mutlaka doğrulayın.
Stored Procedures: Saklı prosedürler kullanarak SQL kodunu uygulama kodundan ayırın.
Least Privilege: Veritabanı kullanıcısına minimum yetki verin.
WAF Kullanımı: Web Application Firewall ile ek koruma sağlayın.
SQL Injection Nedir?
Kullanıcı girdileri üzerinden SQL sorgularına zararlı kod enjekte edilmesidir. Saldırgan, veritabanındaki verileri okuyabilir, değiştirebilir veya silebilir.
Örnek Saldırı
Kullanıcı adı: ' OR 1=1 --
Şifre: herhangiBu girdi ile SQL sorgusu manipüle edilerek tüm kullanıcılar adına giriş yapılabilir.