您好,登錄后才能下訂單哦!
漏洞成因:
XML 文件的解析依賴 libxml 庫,而 libxml 2.9以前的版本默認(rèn)支持并開啟了外部實體的引用,服務(wù)端解析用戶提交的 xml 文件時未對 xml 文件引用的外部實體(含外部普通實體和外部參數(shù)實體)做合適的處理。
影響:
常見的XML解析方法有:DOMDocument、SimpleXML、XMLReader,這三者都基于libxml庫解析XML,所以均受影響,xml_parse函數(shù)則基于expact解析器,默認(rèn)不載入外部DTD,不受影響。
修復(fù):
php解析xml文件之前使用libxml_disable_entity_loader(true) 來禁止加載外部實體。
***代碼:
<?php $xmlstring = <<<EOF <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE ANY [ <!ENTITY xxe SYSTEM "file:///E:/wwwroot/.user.ini"> ]> <X>&xxe;</X> EOF; $xml = simplexml_load_string($xmlstring); print_r($xml); ?>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。