Web Uygulaması Sızma Testi Checklist (OWASP)
Kimlik, oturum, girdi doğrulama, iş mantığı ve dosya yükleme için pratik kontrol listesi.
Kısaca
- Kimlik ve oturum yönetimi açıkları en kritik etkiyi yaratır; öncelik verin.
- Girdi doğrulama sadece SQLi değil; SSTI, deserialization ve template injection’ı da kapsar.
- İş mantığı testleri otomatik tarayıcıların yakalayamadığı hataları ortaya çıkarır.
Özet Anlatım
Web uygulaması güvenliği; kimlik ve oturumun doğru yönetilmesi, girdilerin hem istemci hem de sunucu tarafında güvenli şekilde işlenmesi ve iş mantığının beklenen kurallara uygun çalışmasıyla başlar. Basit bir parola reset akışındaki küçük bir ihmal bile hesap ele geçirmeye, bir dosya yükleme ucundaki tip kontrolü eksikliği uzaktan kod çalıştırmaya kadar gidebilir.
Bu rehber, sürüm öncesi yapacağınız kısa bir yürüyüşte en kritik kontrol noktalarını görünür kılar. Amaç, her satırı ezberlemek değil; risk odaklı bir gözle hızla “nereler kırılabilir?” sorusuna yanıt bulmaktır.
Kısaltmalar
- MFA: Çok faktörlü kimlik doğrulama.
- IDOR: Yetki kontrolleri zayıfsa, başkasının kaynağına ID ile erişme açığı.
- XSS: Kullanıcıya zararlı script çalıştırma (yansıyan/kalıcı/DOM).
- XXE: XML dış varlık enjeksiyonu ile dosya okuma/istek gönderme.
- SSTI: Şablon motoru üzerinden komut/erişim sağlama.
- SSRF: Sunucunun iç ağlara istek göndermesini sağlama.
Auth ve Oturum
- Parola politikası, MFA, brute force rate limit
- Session fixation/timeout, cookie flag’leri (HttpOnly/Secure/SameSite)
- Yetkilendirme kontrolleri (IDOR, erişim matrisleri)
Girdi Doğrulama ve Enjeksiyon
- SQLi/NoSQLi, XSS (reflected/stored/DOM), XXE, SSTI
- Serileştirme, dosya yükleme ve içerik türü kontrolleri
- Ön uç doğrulaması + arka uç doğrulaması birleşik olmalı
İş Mantığı ve Akışlar
- Parasal/puan bazlı işlemlerde tek yönlü doğrulamaya dikkat
- Durum makinelerinde beklenmeyen geçişler ve yarış koşulları
- Yetkisiz veri erişimi (listeleme/filtre bypass)
Pratik Rehber
Sürümden önce kısa bir yürüyüş yapın: Kimlik akışları çalışıyor mu, yetki kontrolleri beklenen sınırları çiziyor mu, dosya yükleme ve kullanıcıdan gelen içerikler güvenle işleniyor mu? Bu üç soru çoğu ciddi problemi daha canlıya çıkmadan yakalamanızı sağlar.
Örnek senaryo: Parola sıfırlama sürecinde üretilen bağlantının süresi kısıtlı değilse veya aynı bağlantı birden çok kez kullanılabiliyorsa, hesap ele geçirme riski doğar. Basit bir süre sınırı, tek kullanımlık token ve başarılı işlem sonrası tüm token’ların iptali bu riski hızla düşürür.
Adım adım (sürüm öncesi kısa yürüyüş):
- Kimlik akışlarını deneyin. Kayıt, giriş, parola sıfırlama ve MFA adımlarında beklenmeyen atlamalar var mı? Yanlış/eksik girişlerde anlamlı ve güvenli geri bildirim veriliyor mu?
- Yetki kontrollerini doğrulayın. Basit ID değişimleriyle (IDOR) başkasına ait kayıtlara erişilebiliyor mu; liste/filtre uçlarında rol bazlı kısıtlar çalışıyor mu?
- Girdi güvenliğini sınayın. Yorum, profil, dosya yükleme gibi uçlarda XSS/SSRF/XXE gibi enjeksiyonlar mümkün mü; içerik türü/doğrulama düzgün mü?
- İş mantığını gözden geçirin. Ödeme, puan veya indirim akışlarında hile yapılabiliyor mu; yarış koşulları sonuçları bozuyor mu?