XML外部实体注入漏洞- XXE
概览:
实验内容
影响版本:
漏洞介绍
实验结果分析与总结
修复方案
实验内容
介绍XXE漏洞的触发方式和利用方法,简单介绍XXE漏洞的修复。
影响版本:
libxml2.8.0版本
漏洞介绍
XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击。漏洞是在对非安全的外部实体数据进行处理时引发的安全问题。
由于站点的建站语言不同,PHP、JAVA、python等也有不同的解析规则,在实际情况中不能一概而论,但原理是相同的。
XML基础知识
XML是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。
XML中对数据的引用称为实体,实体中有一类叫外部实体,用来引入外部资源,有SYSTEM和PUBLIC两个关键字,表示实体来自本地计算机还是公共计算机,外部实体的引用可以借助各种协议,比如如下的三种:
file:///path/to/file.ext
php://filter/read=convert.base64-encode/resource=conf.php
XML在调用外部实体整体的写法如下: