XML harici varlık (ARCH7105)
Anahtar php.security.xxe · Önem error · Kategori security · CWE CWE-611
Harici varlıkları çözümleyen bir XML ayrıştırıcı, saldırganların yerel dosyaları okumasına, dahili isteklere (SSRF) ulaşmasına veya hizmet reddi tetiklemesine olanak tanır. Harici varlık yüklemesini devre dışı bırakmak gerekir.
Hatalı
Bölüm başlığı “Hatalı”<?php$dom = new DOMDocument();libxml_set_external_entity_loader(null);$dom->loadXML($_POST['xml'], LIBXML_DTDLOAD | LIBXML_NOENT);echo $dom->textContent;<?php$dom = new DOMDocument();$dom->loadXML($_POST['xml'], LIBXML_NONET | LIBXML_NOENT);// LIBXML_DTDLOAD kullanılmaz; harici varlık çözümleyici kapalı kalırecho $dom->textContent;Düzeltme
Bölüm başlığı “Düzeltme”DTD/harici varlık yüklemesini açan LIBXML_DTDLOAD gibi bayrakları kullanmayın ve harici varlık çözümleyiciyi devre dışı bırakın.