XXE外部实体注入漏洞
一、概念
libxml2.9以前默认开启了外部实体引用功能导致的注入
二、XML文档结构
1、XML语法
- XML文档必须有一个根元素
- 必须有关闭标签
- 对大小写敏感
- 正确嵌套
- 属性值必须加引号
<?xml version="1.0" encoding="UTF-8"?>
<class>
<id>2022</id>
</class>
2、DTD(document type definition)
- xml文档结构包括xml声明,DTD文档类型定义,文档元素。而DTD就是用来控制文档的一个格式规范
3、利用代码
<? version = "1.0"?>
<!DOCTYPE ANY [<!ENTITY file SYSTEM "file:///etc/passwd">]>
<note>&file;</note>