XXE

XML外部实体(注入) 攻击者利用xml的性质可以获取本地/远程文件内容 (不同于其他语言 PHP中xml实体可以使用PHP伪协议)

XML外部实体是XML的一个特性 XML可以使用外部实体引用来包含和解析其他文档

当然XML还有其他实体 详细内容可以参考这个DTD教程

这里就不详细将利用技巧了

审计时如果发现使用了文末列表的函数 就要检查是否禁用了外部实体

libxml_disable_entity_loader(true); //禁用外部实体使用到的函数 参数为true时禁用

注意: php环境中libxml 版本>=2.9.0时外部实体默认禁用 (PHP版本 >=8.0时 就开始使用>=2.9.0版本的libxml libxml_disable_entity_loader函数被完全废弃 使用该函数会抛出错误)

漏洞常见处: 支付等回调api

最后更新于