SQL INJECTION (SQLi) MANTIĞI VE UYGULAMALI ANLATIM - REHBER
Selam dostlar, bugün siber güvenlik dünyasının efsanevi zafiyeti SQL Injection (SQLi) konusunu masaya yatırıyoruz.
SQL Injection nedir? Kullanıcıdan alınan verilerin sunucu tarafında veritabanı sorgusuna doğrudan birleştirilmesi sonucu, saldırganın kendi SQL komutlarını veritabanına çalıştırması olayıdır.
Mantığını anlamak için basit bir giriş formu düşünün: Sunucudaki PHP kodu şöyledir:
$sql = "SELECT * FROM users WHERE username = '$user' AND password = '$pass'";
Saldırgan kullanıcı adı kutusuna şu ifadeyi yazar:
admin' --
Veritabanına giden nihai sorgu şu hale gelir:
SELECT * FROM users WHERE username = 'admin' -- ' AND password = '...'
Buradaki '--' simgesi SQL dilinde yorum satırı demektir. Yani şifre kontrolü tamamen iptal olur ve sistem sizi direkt admin olarak içeri alır!
SQLi Türleri:
- Union-Based SQLi: UNION komutu ile başka tablolardaki verileri ekrana basma.
- Error-Based SQLi: Veritabanı hata mesajlarından veri çıkarma.
- Blind (Kör) SQLi: Ekrana hiçbir veri basılmaz ancak TRUE/FALSE durumuna göre veya SLEEP() süresine göre veriler karakter karakter çekilir.
🎥 İlgili Video & sqlmap Kullanım Rehberi: YouTube: SQL Injection Fundamentals & sqlmap Mastery
Korunma Yolu Tek cümledir: Asla ve asla SQL sorgularını string birleştirme ile yazmayın. Her zaman Prepared Statements (Parametreli Sorgular) kullanın.
Sorusu olan dostlar yoruma yazabilir, herkese iyi çalışmalar!
SQLi kral zafiyettir, eline sağlık reis. Özellikle ORDER BY üzerinden sütun sayısını bulup UNION SELECT denemek ilk yapılan hareket. Sqlmap aracını –tamper=between ile kullanınca WAF'lar da takılmıyor.
Harika rehber. PDO kullanırken EMULATE_PREPARES = false ayarını yapmayı unutmayın arkadaşlar, aksi halde PDO bile string birleştirme yapabiliyor.
Teşekkürler üstat, Blind SQLi tarafında time-based (sleep) tekniğini otomatize eden python betikleri de çok pratik oluyor.
Thread Statistics
Latest Discussions
Popular Exploits
Security Advisory
All exploits, papers, and code shared on the Siber Alem database are strictly for educational and research purposes. Using them for malicious purposes is strictly prohibited and the user assumes all liabilities.