何为XXE漏洞?
XXE:XML外部实体注入,重点是:注入的是外部实体。
XXE漏洞本质是:服务端可以执行用户自定义的XML文档: api 接口能解析客户端传过来的 xml 代码,并且直接开启外部实体的引用
何为XML?
XML:可扩展标记语言,用户可以自定义标签,用来传输和储存数据。
(HTML:超文本标记语言,被用来设计显示数据。)
XML用于配置文件、文档格式、图像格式和网络协议。
XML文档结构包括XML声明,DTD文档类型定义、文档元素。
DTD用于定义XML文档的合法构建模块,可以内部声明,也可以外部引用。
DTD可以定义元素(标签)和实体,实体是:用于定义引用普通文本或特殊字符的快捷方式的变量。
XML预定义的实体引用:
实体分为内部实体、外部实体
内部实体:
<!ENTITY 实体名称 "实体的值">
外部实体定义:
<!ENTITY 实体名称 SYSTEM "URI">
外部实体对于XML文档创建动态引用非常有用,所以引用资源一旦有更改,文档中的内容也会随之更改。
XXE漏洞主要出现的地方:
引用XML文档传参的地方
XXE有回显地读取本地敏感文件
XXE无回显外带读取本地敏感文件
内网主机探测
内网主机端口扫描