İmzalar isteğin hangi bölümlerinde taranır (Path, Query, Header, JSON, XML, Form ve Raw)?
Kısa cevap
İmzalar isteğin yedi bölümünde taranır. Her kural hangi bölümlerde aranacağını kural formundaki Inspection Scopes alanıyla belirler; seçenekler formda Path, Query, Header, JSON, XML, Form ve Raw adlarını, listede ve önizlemedeki Active Signature Fields satırında ise URI Path, Query String, HTTP Headers, JSON Body, XML Body, Form Data ve Raw Body adlarını taşır (imza ve desen ayrımı). Path'te istek yolu, Query'de sorgu parametrelerinin adları ve değerleri, Header'da başlık adları ve değerleri (çerezler Cookie başlığının içinde), JSON ve XML'de ayrıştırılmış gövdenin anahtarları ve metin değerleri, Form'da form alanlarının adları ve değerleri taranır; Raw'da ise ayrıştırılamayan gövde, multipart gövdenin tamamı ve OWASP Check in Upload açıksa yüklenen dosyaların içeriği taranır. Bir bölümün gerçekten taranması ayrıca isteğin eşleştiği sayfa tipinde o bölümün ya da parametrenin OWASP Check ayarının açık olmasına bağlıdır; OWASP Exclusions listesindeki imzalar o parametrede aranmaz. Host grubu Learning modundayken bu iki ayar yok sayılır ve bütün bölümler taranır.
Nasıl Çalışır?
| Formdaki adı (Inspection Scopes) | Listedeki adı (Active Signature Fields) | Ne taranır | İmza sayısı |
|---|---|---|---|
| Path | URI Path | Normalize edilip yüzde kodlaması çözülmüş istek yolu | 828 |
| Query | Query String | Her parametrenin adı ve değeri ayrı ayrı; değerler ham ve bir kez URL-çözülmüş hâliyle | 2.824 |
| Header | HTTP Headers | Her başlığın adı ve değeri ayrı ayrı, ham hâliyle; Cookie başlığı dahil (Cookie'ler taranıyor mu?) | 711 |
| JSON | JSON Body | Ayrıştırılmış JSON gövdedeki anahtarlar ve metin değerler | 1.830 |
| XML | XML Body | Ayrıştırılmış XML gövdedeki öğe adları ve metin değerler | 412 |
| Form | Form Data | application/x-www-form-urlencoded alanlarının adları ve değerleri (değerler ham ve bir kez URL-çözülmüş hâliyle); multipart isteklerde form alanları | 2.775 |
| Raw | Raw Body | Ayrıştırılamayan ya da tanınmayan gövde; multipart gövdenin tamamı; OWASP Check in Upload ve Raw sekmesindeki OWASP Check açıksa yüklenen her dosyanın içeriği (Yüklenen dosyaların içeriği de taranıyor mu (OWASP Check in Upload)?) | 937 |
İmza sayısı kolonu yerleşik imza kurallarının o kapsamdaki sayısıdır.
- Bir bölüm, isteğin eşleştiği sayfa tipinin ilgili sekmesinde OWASP Check açıksa taranır (Page Type seviyesinde OWASP taramasını açıp kapatmak ne anlama gelir?); parametreye özel değişken kuralında OWASP Check kapalıysa ya da imza o parametrenin OWASP Exclusions listesindeyse o parametrede imza aranmaz (Belirli bir parametrede OWASP taramasını kapatabilir miyim?).
- Aynı yedi bölüm pozitif denetimlerin de birimidir: Check Fields nedir; WAF isteği hangi yedi bölüme ayırarak inceler?
- Bir imza, kural formunda seçilmemiş bir bölümde hiç aranmaz. Kapsamı daraltmak imzayı kapatmadan false positive'i o bölümden çıkarmanın yoludur (Özel kural eklerken "Inspection Scopes" alanı ne işe yarar?).
Sık Karıştırılan Noktalar
- "Cookie ayrı bir kapsamdır." Çerezler Header (HTTP Headers) kapsamında, Cookie başlığının değeri olarak taranır.
- "Kapsam seçiliyse bölüm her koşulda taranır." Sayfa tipinde o bölümün ya da parametrenin OWASP Check ayarı kapalıysa, Learning modu dışında taranmaz.
- "Multipart gövde yalnızca form alanları olarak taranır." Form alanlarının yanında gövdenin tamamı da Raw kapsamında taranır.
Dokümantasyonda nasıl yapılır
