SQL dışındaki enjeksiyonlar: komut, şablon, NoSQL, LDAP ve başlık
İşletim sistemi komutu, şablon motoru, NoSQL, LDAP ve HTTP başlıklarında verinin koda karıştığı yerleri tanır; her biri için güvenli API’yi, düzeltmeyi ve tespit kuralını uygularsın.
Seviye 301 · 18 ders · 15 pratik lab
Dersler
İşletim sistemi komutu
- Kodda komut enjeksiyonu: system, exec ve shell=True
- Kör komut enjeksiyonunu zamanlama ve çıktı yönlendirmeyle tanımak
- Argüman enjeksiyonu: kabuk yokken bile tehlike
- Güvenli API’ler: argüman listesi ve kabuksuz çağrı
- Kısa görev: bir ağ tanılama sayfasındaki komut enjeksiyonunu kapat
Şablon enjeksiyonu
- Şablon enjeksiyonu nasıl olur: girdiyi şablon olarak işlemek
- Şablon motorunu tanımak: Jinja2, Twig ve Freemarker
- İfade dili enjeksiyonu: Spring EL ve OGNL
- Düzeltme: sabit şablon, kum havuzu ve mantıksız şablonlar
- Kısa görev: bir e-posta şablonu özelliğindeki SSTI’yi kanıtla ve kapat
NoSQL, LDAP ve XPath
- NoSQL operatör enjeksiyonu: $ne, $gt ve $where
- LDAP ve XPath enjeksiyonu: süzgeç ve sorgu dizesine karışan girdi
- Kısa görev: üç sorgu dilindeki enjeksiyonu kapat
Başlık ve günlük enjeksiyonu
- CRLF enjeksiyonu: yanıt bölme ve başlık ekleme
- Host başlığına güvenmek: zehirlenmiş parola sıfırlama bağlantısı
- E-posta başlığı enjeksiyonu: iletişim formundan toplu e-posta
- Günlük enjeksiyonu: sahte kayıt satırları ve günlük görüntüleyicide XSS
- Bitirme görevi: bir yönetim panelindeki beş enjeksiyon türünü bul, kapat ve tespit kuralı yaz
Pratik lablar
- Ağ tanılama sayfasında shell=True: Python ağ tanılama sayfasındaki shell=True çağrısının enjeksiyona yol açtığını kanıtla ve argüman listesine çevir.
- Kabuk yokken argüman enjeksiyonu: Kabuksuz çağrılsa da tire ile başlayan girdinin araca yeni seçenek eklediğini göster ve -- ile girdi doğrulaması ekle.
- Kör komut enjeksiyonunu çıktı yönlendirmeyle doğrula: Çıktı vermeyen bir rapor oluşturucuda komut enjeksiyonunu lab içinde yazılan bir dosyayla doğrula ve kodu düzelt.
- Hangi şablon motoru: Jinja2 mi Twig mi: İki farklı lab sayfasında şablon motorunu zararsız ifadelerle tanı ve kullanıcı girdisinin şablon olarak işlendiği yeri bul.
- E-posta şablonu düzenleyicide SSTI: Yöneticinin düzenlediği e-posta şablonunda ifade çalıştırılabildiğini kanıtla ve kum havuzlu ortama geçir.
- Spring EL ile ifade dili enjeksiyonu: Hata mesajında değerlendirilen ifade dili girdisini bul ve mesajı değerlendirme yapmadan oluşturacak şekilde düzelt.
- Mantıksız şablona geçiş: Kullanıcıların kendi bildirim metnini yazdığı özelliği mantıksız şablon motoruna taşı ve eski açığın kapandığını kanıtla.
- $ne ile atlanan giriş: MongoDB giriş sorgusunun operatör kabul ettiğini kanıtla ve girdi türünü zorlayan doğrulama ekle.
- LDAP süzgecinde yıldız karakteri: Personel aramasında LDAP süzgecine karışan girdinin tüm dizini döktüğünü göster ve özel karakterleri kaçışla.
- $where ile sunucuda JavaScript: $where kullanan bir sorguda kullanıcı girdisinin çalıştırıldığını kanıtla ve sorguyu operatörsüz yeniden yaz.
- XPath sorgusunda kimlik atlatma: XML kullanıcı deposuna XPath ile bakan girişteki enjeksiyonu kanıtla ve parametreli XPath ile düzelt.
- Host başlığıyla zehirlenen sıfırlama bağlantısı: Sıfırlama e-postasındaki bağlantının Host başlığından üretildiğini kanıtla ve alan adını yapılandırmadan al.
- CRLF ile yanıta başlık ekleme: Yönlendirme parametresindeki CRLF karakterlerinin yeni bir başlık eklediğini göster ve başlık değerlerini doğrula.
- İletişim formundan toplu e-posta: Konu alanına eklenen satırlarla ek alıcı tanımlanabildiğini kanıtla ve e-posta kütüphanesinin güvenli API'sine geç.
- Günlük görüntüleyicide sahte satır ve XSS: Kullanıcı girdisinin günlüğe sahte satır eklediğini ve yönetici görüntüleyicisinde XSS'e dönüştüğünü kanıtla ve iki yerde de düzelt.
Kurs hakkında
İşletim sistemi komutu, şablon motoru, NoSQL, LDAP ve HTTP başlıklarında verinin koda karıştığı yerleri tanır; her biri için güvenli API’yi, düzeltmeyi ve tespit kuralını uygularsın.
Ne öğreneceksin
- İşletim sistemi komutu
- Şablon enjeksiyonu
- NoSQL, LDAP ve XPath
- Başlık ve günlük enjeksiyonu
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux masaüstünde geçer; araçlar pencereli arayüzleriyle hazırdır. Kurulum gerekmez, bilgisayar ekranı önerilir.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.