Web açıklarının temelleri (OWASP)
OWASP’ın öne çıkardığı açık türleri ve nedenleri.
Seviye 101 · 20 ders · 17 pratik lab
Dersler
Başlarken
- OWASP İlk 10 haritası: açık sınıfları ve nedenleri
- Lab kurulumu: Kendi bilgisayarında izole ve bilerek açık bırakılmış bir web uygulaması lab'ı kurar, burada neden yalnızca kendi sistemlerinde çalışılması gerektiğini anlarsın.
- İzinli test kuralları: yalnızca kendi lab uygulaman
- Kısa görev: lab uygulamasının sayfalarını ve formlarını listele
Enjeksiyon
- SQL enjeksiyonunun temelleri: SQL enjeksiyonunun, uygulamanın kullanıcı girdisini veritabanı sorgusuna karıştırmasından doğduğunu kavrar ve bunu günlüklerde nasıl tanıyacağını öğrenirsin.
- Hata tabanlı ve doğru-yanlış enjeksiyon: Hata mesajlarının ve doğru-yanlış yanıtların veritabanı hakkında bilgi sızdırabildiğini kendi lab'ında görür, bunu önleyen düzeltmeleri öğrenirsin.
- UNION saldırıları ve şema keşfi: Veritabanı yapısının sorgu birleştirme (UNION) yoluyla nasıl açığa çıkabileceğini lab'da görür ve neden en az yetkili veritabanı hesabı gerektiğini anlarsın.
- İşletim sistemi komutu enjeksiyonu: Uygulamanın kullanıcı girdisini işletim sistemi komutuna karıştırmasının neden tehlikeli olduğunu anlar ve bunu güvenli kodla nasıl önleyeceğini öğrenirsin.
- Kısa görev: giriş formundaki enjeksiyonu kanıtla ve hangi satırın sorunlu olduğunu göster
Kimlik, dosya ve tarayıcı
- Kimlik doğrulama atlatma: Giriş denetiminin zayıf kurulduğunda neden aşılabildiğini lab uygulamasında görür, sağlam kimlik doğrulamanın temel kurallarını öğrenirsin.
- Dosya dahil etme: Uygulamanın dosya yolunu kullanıcıdan alması ne tür riskler doğurur, bunu lab'da gözlemler ve izin verilen dosyalar listesiyle nasıl önleyeceğini öğrenirsin.
- Dosya yükleme açıkları: Dosya yükleme özelliğinin yetersiz denetlendiğinde neden risk olduğunu lab'da görür, tür, boyut ve saklama yeri kurallarını öğrenirsin.
- Yansıyan XSS: Yansıyan XSS'in, girdinin sayfaya olduğu gibi geri basılmasından kaynaklandığını anlar, çıktı kodlama ile nasıl önlendiğini öğrenirsin.
- Bozuk erişim denetimi: başkasının kaydını görmek
- Güvenlik yanlış yapılandırması: varsayılan hesaplar ve ayrıntılı hata sayfaları
- Kısa görev: altı açık sınıfının her birinden bir örneği lab uygulamasında işaretle
Düzeltmek ve doğrulamak
- Güncel olmayan bileşenler ve bilinen açıklar
- Her açığı nasıl kapatırız: Kursta gördüğün her açık türü için kalıcı çözümü (girdi doğrulama, parametreli sorgu, çıktı kodlama, yetki denetimi) eşleştirmeyi öğrenirsin.
- Düzeltmeyi yeniden test etme alışkanlığı
- Bitirme görevi: küçük bir uygulamayı denetle: Hayali bir şirketin küçük web uygulamasını lab'da izinli kapsamda denetler, bulduğun açıkları ve önerdiğin düzeltmeleri kısa bir raporda toplarsın.
Pratik lablar
- Giriş formunda tırnak hatası: Giriş formuna tek tırnak gönderince çıkan veritabanı hatasını bul, hatanın kaynağı olan satırı göster ve hata ayrıntısını kullanıcıdan gizle.
- Ürün listesinde doğru-yanlış farkı: Ürün listesindeki kategori parametresinde doğru ve yanlış koşulların farklı sonuç verdiğini kanıtla ve sorguyu parametreli hâle getir.
- Arama kutusunda UNION ile sızan tablo adları: Arama kutusunun şema bilgisini sızdırabildiğini kendi lab'ında göster, sorguyu düzelt ve aynı isteğin artık boş döndüğünü kanıtla.
- Hata mesajı vermeyen formda kör enjeksiyon: Hata göstermeyen bir şifre sıfırlama formunda enjeksiyonu yanıt farkıyla doğrula, kodu düzelt ve web günlüğünde bu denemeleri yakalayan bir arama yaz.
- Ping aracında komut enjeksiyonu: Yönetim panelindeki ping aracının girdiyi kabuğa geçirdiğini kanıtla ve girdiyi IP adresi izin listesiyle kısıtla.
- Dil seçicisinde dosya dahil etme: Dil parametresinin sunucudaki başka bir dosyayı okuttuğunu kanıtla ve parametreyi sabit dil listesine bağla.
- Uzantıya güvenen yükleme formu: Avatar yükleme formunun yalnızca uzantıya baktığını göster, içerik denetimi ve web kökü dışında saklama ile düzelt.
- Tek uç noktada iki açık: komut ve yol: Bir yedek indirme uç noktasında hem komut enjeksiyonunu hem yol geçişini bul, ikisini birlikte kapat ve iki ayrı yeniden test kanıtı çıkar.
- Varsayılan yönetici parolası açık kalmış: Lab uygulamasının yönetici panelinde varsayılan hesabın hâlâ çalıştığını göster, hesabı kapat ve ilk kurulumda parola değişimini zorunlu kıl.
- Adres çubuğundaki sayıyı değiştir: başkasının faturası: Fatura sayfasında numarayı değiştirince başka müşterinin faturasının açıldığını kanıtla ve sahiplik kontrolü ekle.
- Ayrıntılı hata sayfası sürüm sızdırıyor: Hata ayıklama modu açık kalan bir sayfada sızan çerçeve ve veritabanı sürümlerini bul, modu kapat ve genel hata sayfası ekle.
- Gizli yönetici sayfasına normal kullanıcıyla erişim: Menüde görünmeyen ama normal kullanıcıya açık kalan bir yönetici sayfasını bul, rol kontrolünü sunucuda ekle ve reddedilen erişimi günlüğe yazdır.
- Yorum önizlemesinde yansıyan XSS: Yorum önizleme sayfasında girdinin kodlanmadan yansıdığını zararsız bir işaretle kanıtla ve çıktıyı HTML kodlamasıyla düzelt.
- Profil sayfasında saklanan ad alanı: Profildeki ad alanına yazılan zararsız işaretin başka kullanıcıların sayfasında kod olarak çalıştığını göster ve çıktıyı kodla.
- Açık sınıfını tanı: altı kısa örnek: Lab uygulamasından alınmış altı istek-yanıt örneğini doğru açık sınıfıyla eşleştir ve her biri için tek cümlelik düzeltme yaz.
- Eski kütüphane sürümünü bul ve yükselt: Lab uygulamasının kullandığı bileşenlerden bilinen açığı olan sürümü bul, güvenli sürüme yükselt ve uygulamanın çalıştığını test et.
- Mini denetim: altı sınıftan üç açık: Küçük bir not uygulamasında üç farklı açık sınıfından birer açık bul, her birini düzelt ve yeniden test sonucunu tek sayfada özetle.
Kurs hakkında
OWASP’ın öne çıkardığı açık türleri ve nedenleri.
Ne öğreneceksin
- Başlarken
- Enjeksiyon
- Kimlik, dosya ve tarayıcı
- Düzeltmek ve doğrulamak
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanı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.