' OR '1'='1' --SELECT id, username, role
FROM users
WHERE username = '' OR 1=1 -- '1adminadmin
2aliceuser
3bobuser
DEFENSE AVAILABLESwitch to a parameterized query and the attack stops.
0 ROWSMeridian Holdings · mesai sonrası
Her sistemde birinin kilitlemeyi unuttuğu bir kapı vardır.
Onları sen bulursun. Diğer tarafta gerçek bir veritabanı var — simülasyon yok, korumalı alandan başka güvenlik ağı da yok. Üç iş çevir. Sonra seni nasıl durdurmaları gerektiğini öğren.
' OR '1'='1' --SELECT id, username, role
FROM users
WHERE username = '' OR 1=1 -- '1adminadmin
2aliceuser
3bobuser
DEFENSE AVAILABLESwitch to a parameterized query and the attack stops.
0 ROWSBeş hamlelik soygun
Neo hedefi ve vurgunu söyler — yöntemi asla.
Hedefi kolaçan et. Girdinin gerçekte nereye düştüğünü bul.
Forma yaz, girdinin oluşturduğu canlı sorguyu izle, sonra çalıştır.
Vurgun ve puanın. Kimse seni durduramadı — mesele de bu.
Açığı kapatan düzeltmenin yanında savunmasız kod. İşte savunma bu.
Üç vaka · tek rota
Giderek zorlaşan üç vakada 8 görev. Her çalıştırma sıfırdan tohumlanmış yerel bir veritabanı alır.

Başlangıç / 3 görev
Gürültülü bir vitrin, kimlik doğrulama yolu ve açığı ele veren canlı bir sorgu.
Kimlik Bypass · Şema Keşfi · UNION ÇekmeVakaya gir
Orta / 3 görev
Sonuç kaybolur. Zamanlama, hata davranışı ve dikkatli sorular geride kalanı açığa çıkarır.
Kör Boolean · Kör Zamanlama · Hata TabanlıVakaya gir
İleri / 2 görev
Filtreler açık yolu korur. Anahtar kelime engellemenin neden gerçek bir sınırın yerini tutmadığını öğren.
WAF Atlatma · İstiflenmiş SorguVakaya girGerçek veritabanı · güvenli oyun alanı
Her vaka tarayıcındaki SQLite üzerinde çalışır. Hedef izole edilir, yeniden tohumlanır ve istediğin an sıfırlanabilir.
Gerçek hedef yok. Girdin hiçbir harici sisteme gönderilmez.
// Input is inserted into source
const q = "SELECT id, username, role
FROM users WHERE username = '" + input + "'";KULLANICI GİRDİSİ' OR 1=1 --Değer dizgeden kaçar ve sorgu mantığını yeniden yazar.
// Structure and value stay separate
const q = "SELECT id, username, role
FROM users WHERE username = ?";
db.execute(q, [input]);PARAMETRE BAĞLANDI, ÇALIŞTIRILMADI["' OR 1=1 --"]Girdi veri olarak kalır. Sorgu yapısı değişemez.
Enjekte edilmiş değeri gönder.
Kullanıcının almaması gereken satırları gör.
Parametreli sorguyu kullan.
Aynı girdiyi tekrar gönder.
Yalnızca amaçlanan veri döner.
Operatör desteği
Her şey izole, sıfırlanabilir ve öğrenmek için yapılmış. İlk operasyondan önce sorularını temizle.
Neo'nun verdiği her cevabı okuEvet. Her iş yalnızca tarayıcındaki korumalı SQLite veritabanını hedefler. Pratik girdisi hiçbir gerçek sisteme ulaşmaz; site sunumu ve isteğe bağlı hesap eşitleme hedeften ayrıdır.
Hayır. Modern bir tarayıcıda çalışır. SQLite motoru ilk ihtiyaç duyduğunda, istek üzerine yüklenir — hesap gerekmez, indirme yok, kurulum yok.
İşe yarar. Oyun, bir SELECT okuyabildiğini ve bir WHERE yan tümcesini kabaca takip edebildiğini varsayar. Sana enjeksiyonu öğretir — sıfırdan SQL değil.
Enjeksiyonun nasıl çalıştığını öğretiyoruz ki onu tanıyıp kapatabilesin — her iş soygunla değil, düzeltmeyle biter. Bunu yalnızca sana ait olan ya da test etmene izin verilen sistemlerde kullan.