Kontrollerin ve testlerin listesi nasıl olmalıdır?
Aşağıda sızma testi için kontrol grupları, web uygulaması senaryolarına göre fizibilitelerini test etmek için öncelikli saldırı vektörleri olarak kullanılan bir liste verilmiştir:
1. Abuse of Functionality (İşlevselliğin Kötüye Kullanımı): Erişim kontrol mekanizmalarını atlamak için web uygulaması işlevlerini kullanma.
2. Brute Force (Kaba kuvvet Saldırısı): Basit ve standart şifrelerin sözlükler kullanarak şifreleri arama.
3. Directory Indexing (Dizin İndeksleme): Dizin listesini arama.
4. Content Spoofing(İçerik Sahtekarlığı): Site içeriğinin değiştirilmesi. uzaktan görüntüleme yerel olarak gizlenmiş içerik. (fopen, iframe gibi)
5. Credential/Session Prediction(Kimlik Bilgisi / Oturum Tahmini): Tanımlayıcının tahmin edilen oturum değerleri, diğer kullanıcıların oturumlarını kesmenize olanak sağlar. Bu tür saldırılar, kullanıcının oturum bilgilerini tahmin ederek gerçekleştirilir.
6. CrossSite Scripting: Bir web sistemi tarafından yayınlanan bir sayfaya kötü amaçlı kod enjekte eden (kullanıcı bu sayfayı açtığında kullanıcının bilgisayarında çalıştırılacak) ve bu kodla saldırganın web sunucusuyla etkileşime giren bir web uygulamasına yapılan saldırı.
7. CrossSite Request Forgery (CrossSite İstek Sahteciliği): Siteler arası istek sahteciliği. HTTP protokolündeki zafiyetleri kullanan web sitesi ziyaretçilerine yapılan saldırı.
8. HTTP Response Smuggling (HTTP Yanıt Kaçakçılığı): HTTP yanıtlarının yanlış aktarımına dayalı saldırılar.
9. HTTP Response Splitting (HTTP Yanıt Bölme). HTTP Yanıt Saldırılarını Bölme.
10. HTTP Request Smuggling (HTTP Talep Kaçakçılığı): Yanlış HTTP istek iletim saldırıları.
11. HTTP Request Splitting(HTTP İstek Bölme): HTTP isteklerini bölme.
12. LDAP Injection (LDAP Enjeksiyonu): LDAP Operatör Enjeksiyonu Kullanıcı girdisine dayalı olarak LDAP hizmetine isteklerde bulunan bir web sunucusuna yapılan saldırı.
13. Null Byte Injection (Boş Bayt Enjeksiyonu): Web uygulamasının mantığını değiştirmek ve NSD’yi dosyalara almak için url’ye sıfır bayt karakter ekleyerek web altyapısı filtresinin kontrolünü atlamak.
14. OS Commanding (İşletim Sistemi Komutu): Uygulama giriş verilerini değiştirerek işletim sistemi komutlarını yürütme.
15. Path Traversal(Yol Geçişi): Web sunucusunun ana dizininin dışındaki dosyalara, dizinlere ve komutlara erişim.
16. Predictable Resource Location (Tahmin Edilebilir Kaynak Konumu): Gizli verilere veya işlevselliğe erişime izin veren kaynakların öngörülebilir düzeni.
17. Remote File Inclusion (RFI – Uzaktan Dosya Ekleme): Sunucu tarafındaki bir uzak dosyanın web sunucusundaki bir komut dosyası aracılığıyla kullanılmasına izin veren bir saldırı türüdür.
18. Routing Detour (Rotadan Dolaşma): SOAP mesaj yönlendirme.
19. Session Fixation (Oturum Sabitleme): Oturum sabitleme. Saldırgan, bu saldırı sınıfını kullanarak, kullanıcının oturum kimliğine belirli bir değer atar.
20. SOAP Array Abuse.: Veri kümesi tanımlarının bir SOAP mesajına enjeksiyonu.
21. SSI Injection (SSI Enjeksiyonu): Sunucu uzantılarının uygulanması. Sunucu komutlarını HTML koduna ekleyin veya doğrudan sunucudan çalıştırın.
22. SQL Injection (SQL Enjeksiyonu): Sorguya rastgele SQL enjeksiyonu.
23. URL Redirector Abuse (URL Yeniden Yönlendiricinin Kötüye Kullanımı): Spam için doğrulama olmadan yönlendirmeler.
24. XPath Injection (XPath Enjeksiyonu): Kullanıcı girdisine dayalı olarak XPath sorguları oluşturan bir web sunucusuna karşı XPath operatörlerinin saldırıları.
25. XML Attribute Blowup (XML Özniteliği Şişirme): Parametreleri “patlama”.
26. XML External Entities (XML Harici Varlıklar): Harici dosyayı içeri dahil et.
27. XML Entity Expansion (XML Varlık Genişletme). Mesaj gövdesinden değişkenlerin enjeksiyonu.
28. XML Injection (XML Enjeksiyonu): İsteğe rastgele XML kodu enjeksiyonu.
29. XQuery Injection (XQuery Enjeksiyonu): Sorguya rastgele XQuery kodu enjekte etme.
Rapor nasıl olmalıdır?
Rapor, çalışma metodolojisini, denetimin amacını, testin kapsamını ve sızma testi sırasında kullanılacak olan güvenlik analizi araçlarıyla ilgili bilgileri açıklayan bir giriş içermelidir. Test sırasında keşfedilen her güvenlik açığına yüksek, orta, düşük şeklinde belirli bir risk derecesi atanır.
Güvenlik açıklarının sınıflandırılması raporda açıklanmalıdır; örneğin, bir güvenlik açığından yararlanılması verilerin tehlikeye atılmasına, sunucu veya hizmet kullanılabilirliğine, keyfi kod yürütülmesine, veri manipülasyonuna yol açabilecekse yüksek derecede risk atanır. Buna hizmet reddi güvenlik açıkları, zayıf veya standart parolalar, şifreleme eksikliği, rastgele dosyalara veya gizli verilere erişim de dahildir.