Web安全-XXE漏洞
目录
1. 前置知识
XML 用于标记电子文件使其具有结构性的标记 语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括 XML 声明、DTD 文档类型定义(可选)、文档元素
通常始于异步JavaScript和XML技术(ajax技术):网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面。目前JSON的使用比XML更加普遍JSON和XML都被用于在Ajax模型中的XML技术。这种标记语言允许开发人员定义和表示任意数据结构的HTML
常见的 XML 语法结构如下所示:
|
|
2. 漏洞描述
XML 外部实体注入(XML External Entity)简称 XXE 漏洞
漏洞原理: XXE漏洞主要是利用了DTD引用外部实体导致的
一般会出现在当前站点允许引用外部实体的情况下
3. XXE漏洞的攻击
3.1 有回显
- 读取敏感文件
- 使用php伪协议读取文件
- 扫描内网端口
- 执行命令
3.2 没回显
- 可以使用外带数据通道提取数据
4. XXE漏洞防御
- 禁止外部实体方法
- 过滤用户提交的XML数据
- 升级libxml组件
最后看个视频结合文字来理解XXE漏洞(需要科学上网)