Görev ve Zafiyet Senaryosu
Kullanıcı arama servisi aranan kullanıcı varsa Kullanıcı Mevcut, yoksa Kullanıcı Bulunamadı yanıtı döndürmektedir. Saldırgan ' AND SUBSTR((SELECT password FROM users WHERE username='admin'), 1, 1) = 'a' koşullarıyla alfabeyi tarayarak şifreyi harf harf çıkartır.
Hedef (Objective)
🎯 Görev: Kullanıcı doğrulama parametresinde mantıksal koşullar (' AND (SELECT ...)=... --) çalıştırarak yönetici şifre özetini karakter karakter tahmin edin.
Adım Adım Çözüm Metodolojisi
Boolean Tepkisi Keşfi
' AND 1=1-- girdiğinde Kullanıcı Mevcut, ' AND 1=2-- girdiğinde Kullanıcı Bulunamadı döndüğünü teyit edin.
SUBSTR Fonksiyonu ile Uzunluk Tespiti
' AND LENGTH((SELECT flag FROM vault))=32-- ile gizli bayrağın karakter uzunluğunu belirleyin.
Karakter Karakter Çıkarma
Her indeks için ikili arama veya döngü ile doğru karakteri tespit edip bayrağı birleştirin.
Örnek Payload ve İstismar Kalıpları
' AND 1=1--' AND 1=2--' AND SUBSTR((SELECT flag FROM vault),1,1)='F'--' AND ASCII(SUBSTR((SELECT flag FROM vault),1,1))>70--
Güvenli Kodlama ve Savunma Mekanizmaları
Zafiyet Nasıl Kapatılır?
- Kör SQL enjeksiyonlarına karşı yegane kesin çözüm Parametreli Sorgulardır (Prepared Statements).
- Kullanıcı girdisi asla dinamik SQL sorgusu içine eklenmemelidir.
- WAF (Web Application Firewall) ile anormal sorgu dizilerini ve SQL fonksiyon çağrılarını denetleyin.
Uygulamaya Başlamaya Hazır mısınız?
SiberAdam interaktif arenasında hedef tarayıcı, DevTools ve CyberTerminal ile bayrağı hemen yakalayın.
Şimdi Çözmeye Başla ⚡