URL Decoding ayarı neyi etkiler; query ve form değerleri de decode edilir mi?
Kısa cevap
URL Decoding yalnızca isteğin path bölümünü etkiler ve WAF açıldığında açıktır. Açıkken path bütün denetimlerden önce bir kez çözülür; sayfa tipi eşleştirme, Path yapısal denetimleri ve imza taraması çözülmüş path üzerinde yapılır. Kapalıyken path kodlanmış hâliyle sayfa tipiyle eşleştirilir ve yapısal denetimden geçer; imza taraması path'in hem kodlanmış hem bir kez çözülmüş hâlini tarar. Query ve form değerleri bu ayardan bağımsızdır: kodlanmış metin önce & ve = işaretlerinden parametrelere bölünür, imza taraması her anahtar ve değerin kodlanmış ve bir kez çözülmüş hâlini tarar; böylece kodlanmış & (%26) ile parametre sınırı kaçırılamaz. Ayar Checks penceresinden değiştirilir ve Edit ile kaydedilir.
Etkisi
| Bölüm | URL decoding açık | URL decoding kapalı |
|---|---|---|
| Path · sayfa tipi eşleştirme | Çözülmüş path (/admin%2Flogin → /admin/login sayfa tipine eşleşir) | Kodlanmış path (/admin%2Flogin, /admin/login sayfa tipine eşleşmez) |
| Path · yapısal denetim (Path length, Path depth) | Çözülmüş path | Kodlanmış path |
| Path · imza taraması | Çözülmüş path | Kodlanmış ve bir kez çözülmüş hâl |
| Query ve form · parametrelere bölme | Kodlanmış metin üzerinde | Aynı |
| Query ve form · imza taraması | Her anahtar ve değerin kodlanmış ve bir kez çözülmüş hâli; + boşluk sayılır | Aynı |
- Çözme derinliği: Her durumda en fazla bir adım çözülür; çift kodlanmış bir değer (
%2527) taramada%27olarak görülür. - Header, JSON ve XML: URL çözmesi uygulanmaz; değerler geldiği gibi taranır.
- Kart satırı: Açıkken Checks kartında URLs are decoded before inspection yazar; kapalıyken URL decoding is off satırında listelenir.
- Kapsam: Ayar vService genelindedir ve bütün host gruplarında ortaktır.
TR7'de Ayarı Değiştirme
Left Monitor Panel → WAF-Protected vServices → vService → WAF Management sekmesinde Inspection & Blocking bölümündeki Checks kartının sağ üstündeki kalem ikonuna tıklanır.
URL Decoding kutusu işaretlenir ya da işareti kaldırılır.
Edit tıklanır; değişiklik ayrı bir dağıtım adımı olmadan uygulanır. Cluster kurulumunda varsayılan auto-sync ile eş cihaza da gönderilir; Manual Sync Mode açıksa eş cihaza elle gönderilir.
- WEB-CLI:
waf options update poolId <vService> --syncWithDefaultFwRules false --decodePaths false(WAF kapsamı); yeniden açmak için değertrueyazılır. - Öneri: Ayar açık bırakılır. Kapatmak yalnızca path içindeki kodlanmış karakterin (ör.
%2F) uygulama için ayrı anlam taşıdığı ve sayfa tiplerinin kodlanmış hâliyle tanımlandığı durumlarda düşünülür.
Sık Karıştırılan Noktalar
- "Kapatınca imza taraması kodlanmış saldırıları kaçırır." Ayar kapalıyken imza taraması path'in bir kez çözülmüş hâlini de tarar.
- "Ayar query ve gövdeyi de kapsar." Yalnızca path'i etkiler; query ve form her durumda aynı biçimde işlenir.
- "Ayar kapalıyken kodlanmış path aynı sayfa tipine düşer." Kodlanmış path harfi harfine karşılaştırılır;
/admin%2Floginisteği/admin/loginsayfa tipinin kuralını almaz.
Dokümantasyonda nasıl yapılır
