专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

XXE白盒审计 PHP

XXE与XML注入的区别

https://tech.souyunku.com/websecurity-study/p/11348913.html

XXE又分为内部实体和外部实体。我简单区分为内部实体就是自己构造一个功能体,外部实体就是可以引入外部文件。

原理

服务器加载外部实体声明<!ENTITY 实体名称 SYSTEM "URI">,导致被入侵。如下用PHP语言举例。

PHP代码案例:

$xmlfile = file_get_contents("php://input"); // php://input 是个可以访问请求的原始数据的只读流。 获取客户端输入的内容
$dom = new DOMDocument(); // 初始化XML解析器
$dom->loadXML($xmlfile); // 加载客户端输入的XML内容
$xml = simplexml_import_dom($dom); // 获取XML文档节点,如果成功返回simpleXMLElement对象,如果失败返回Flase
$xxe = $xml->xxe; //获取simpleXMLElement对象中的节点 xxe
$str = "$xxe \n";
echo $str;

防止的XXE,一行代码解决:

检测

黑盒检查:
建议查看 https://tech.souyunku.com/mysticbinary/p/12668547.html

白盒检测:
查看代码里面是否使用了LodXML( )函数。

防护

// 在加载文档代码上面声明
libxml_disable_entity_loader(true);    //禁止使用外部实体

未经允许不得转载:搜云库技术团队 » XXE白盒审计 PHP

相关推荐

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们