XXE
======================================
XML基础
--------------------------------------
XML 指可扩展标记语言(eXtensible Markup Language),是一种用于标记电子文件使其具有结构性的标记语言,被设计用来传输和存储数据。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。目前,XML文件作为配置文件(Spring、Struts2等)、文档结构说明文件(PDF、RSS等)、图片格式文件(SVG header)应用比较广泛。
XXE
--------------------------------------
当允许引用外部实体时,可通过构造恶意的XML内容,导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等后果。一般的XXE攻击,只有在服务器有回显或者报错的基础上才能使用XXE漏洞来读取服务器端文件,但是也可以通过Blind XXE的方式实现攻击。
攻击方式
--------------------------------------
拒绝服务攻击
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
]>
&a2;
若解析过程非常缓慢,则表示测试成功,目标站点可能有拒绝服务漏洞。
具体攻击可使用更多层的迭代或递归,也可引用巨大的外部实体,以实现攻击的效果。
文件读取
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
]>
&file;
SSRF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
]>
4
RCE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
]>
&xxe;
XInclude
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::
参考链接
--------------------------------------
- `XML教程 `_
- `未知攻焉知防 XXE漏洞攻防 `_
- `XXE 攻击笔记分享 `_