İçeriğe geç

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.

<?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ır
echo $dom->textContent;

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.