EMZETT.
Giriş yap

XXE: harici XML varlıkları

Kısaca: XXE (“XML External Entity”), bazı XML ayrıştırıcılarının bir belgede harici dosyalara veya adreslere başvurmasına izin vermesini istismar eder. Manipüle edilmiş bir belge böylece sunucu dosyalarını okuyabilir.

Biraz daha ayrıntılı: XML, DOCTYPE bildiriminde dosyalara (file://) veya URL’lere işaret eden varlıklara (entity) izin verir. Varsayılan ayarlı bir ayrıştırıcı bunları yükler ve içeriği belgeye ekler.

Ayrıntılı

  • Sonuçlar: Yerel dosyaları okuma, iç hizmetlere istekler (SSRF), devasa iç içe varlıklarla hizmet reddi (“Billion Laughs”).
  • Nerede görülür: XML’in kabul edildiği her yerde: SOAP arayüzleri, SVG yüklemeleri, Office dosyaları (DOCX, XLSX XML içeren ZIP’lerdir), RSS, SAML.
  • Savunma: Ayrıştırıcıda DTD’leri ve harici varlıkları kapat (çoğu kütüphanede bir ayar, örneğin disallow-doctype-decl), güncel kütüphaneler kullan, mümkünse XML yerine JSON.
  • Denetim: Geliştirmede ve testlerde varlıklı test belgeleri, bağımlılık denetimleri.
  • Konum: En yaygın web risklerinin listesinde (OWASP).

Ayrıca bak: SQL enjeksiyonu