Web Security

Web Uygulamalarında SQL Injection Saldırıları

Cyber Warrior
Cyber Warrior
15 Kasım 2025
8 dk okuma
Web Uygulamalarında SQL Injection Saldırıları

SQL Injection Nedir?

SQL Injection (SQLi), web uygulamalarında en yaygın ve tehlikeli güvenlik açıklarından biridir. Saldırganlar, SQL sorgularına kötü amaçlı kod enjekte ederek veritabanına yetkisiz erişim sağlayabilir, veri çalabilir veya silebilirler.

// Güvensiz kod örneği
$username = $_POST["username"];
$password = $_POST["password"];
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($connection, $query);

SQL Injection Türleri

1. In-Band SQL Injection

En yaygın ve kolay tespit edilebilen türdür. Saldırgan, aynı iletişim kanalını kullanarak hem saldırıyı gerçekleştirir hem de sonuçları alır.

2. Blind SQL Injection

Veritabanından doğrudan veri alınamadığında kullanılır. Saldırgan, uygulamanın davranışını gözlemleyerek bilgi edinir.

3. Out-of-Band SQL Injection

Veritabanı sunucusunun dış kaynaklara HTTP veya DNS istekleri göndermesi sağlanarak veri çalınır.

Korunma Yöntemleri

Prepared Statements Kullanımı

En etkili korunma yöntemi, parametreli sorgular (prepared statements) kullanmaktır:

// Güvenli kod örneği
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->execute([$username, $password]);
$user = $stmt->fetch();

Input Validation

Kullanıcı girdilerini her zaman doğrulayın ve sanitize edin. Whitelist yaklaşımı kullanın.

Least Privilege Prensibi

Veritabanı kullanıcılarına sadece ihtiyaç duydukları minimum yetkileri verin.

WAF Kullanımı

Web Application Firewall (WAF) kullanarak SQL injection girişimlerini tespit edip engelleyin.

Test Araçları

  • SQLMap: Otomatik SQL injection testi için en popüler araç
  • Burp Suite: Manuel testler için güçlü bir platform
  • OWASP ZAP: Açık kaynaklı güvenlik test aracı

Sonuç

SQL Injection saldırıları ciddi güvenlik riskleri oluşturur. Geliştiriciler olarak, güvenli kodlama pratiklerini uygulamalı, düzenli güvenlik testleri yapmalı ve güvenlik güncellemelerini takip etmeliyiz.

Unutmayın: Güvenlik bir ürün değil, bir süreçtir. Sürekli öğrenmeli ve güncellemelisiniz.

[ PAYLAŞ ]

Cyber Warrior

Cyber Warrior

Siber güvenlik uzmanı ve penetrasyon testi profesyoneli. 10+ yıllık deneyimle web uygulama güvenliği, network security ve ethical hacking alanlarında çalışmalar yapıyor.