网站开发+接活,官方网站模板,公司简介模板200字左右,大力推动卫生健康事业高质量发展全称#xff1a;XML External Entity 外部实体注入攻击 原理 利用xml进行读取数据时过滤不严导致嵌入了恶意的xml代码#xff1b;和xss原理雷同 危害 外界攻击者可读取商户服务器上的任意文件#xff1b; 执行系统命令#xff1b; 探测内网端口#xff1b; 攻击内网网站… 全称XML External Entity 外部实体注入攻击 原理 利用xml进行读取数据时过滤不严导致嵌入了恶意的xml代码和xss原理雷同 危害 外界攻击者可读取商户服务器上的任意文件 执行系统命令 探测内网端口 攻击内网网站。 商户可能出现资金损失的情况 防御 升级libxml的版本2.9.1 该版本之后默认不解析外部实体禁用外部实体解析 过滤用户的提交文本中的关键词!DOCTYPE等 不允许xml中有自己声明的DTD 设置xml解析使用静态的DTD文件不允许引用外部的DTD 查找方法 抓包查看MIME类型是否为xml抓包post请求以下一种格式则可能存在xxe content-type:application/xml text/xml application/json页面文件为.ashx格式 可以修改文本类型为application/xml进行注入尝试这对前端无回显的情况 将网站生成的连接作为实体引入通过该网站进行查看是否有回显DNSLOG Platform (dig.pm) XML语言可扩展的标记语言 用于程序之间的数据通信常用于配置文件中 文档结构 xml声明 ?xml version“1.0” encoding“UTF-8”? DTD文档类型定义文档框架 内部文档声明 !DOCTYPE 根元素名称 [声明元素的位置] !DOCTYPE note[!ELEMENT note(to,from,heading,body) !ELEMENT to(#PCDATA) !ELEMENT form(#PCDATA)!ELEMENT heading(#PCDATA)!ELEMENT body(#PCDATA)] 外部文档声明 !DOCTYPE 根元素名称 SYSTEM 文件名 !DOCTYPE note SYSTEM http:127.0.0.1/1.txt 实体!ENTITY 普通实体 !DOCTYPE ANY[!ENTITY xxe 123] valuexxe/value 内部引用 !DOCTYPE ANY[!ENTITY xxe http://127.0.0.1/1.txt] valuexxe/value 外部引用 参数实体(只能用于DTD中) !DOCTYPE root[!ENTITY %A !ENTITY xxe 123%A;] valuexxe/value !DOCTYPE root[!ENTITY %A SYSTEM http://127.0.0.1/1.txt%A;] valuexxe/value 元素 实体用于定义普通文本的变量 PCDATA需要被解析的字符数据 CDATA不被解析的字符数据 元素类型声明时用 EMPTY 不能包含子元素和文本但可以有属性 ANY 可以包含DTD中的任意元素 #PCDATA 可以使用任意字符数据但不能有子元素 属性 属性声明语法 !ATTLIST 元素名称 属性名称 属性类型 默认值 !ATTLIST student id CDATA #REQUIRED 属性类型 CDATA (en1|en2|..) ID 默认值 #REQUIRED 必须有 #IMPLIED 不是必须的 #FIXED value 固定值 规则和限制 基础规则 xml文档中有且只能有一个根元素 区分大小写 标签格式必须闭合而且一一对应只有双标签否则出错 特殊字符必须用文本实体编码代替 等 实体编码必须以开头;结束格式要规范 允许多余空格保留 元素命名规则 不能有xml(大小写)开头的名字 不能数字和标点符号开头 不能包含空格 名字中可以有字符、数字、特殊符号 属性规则 不能包含多个值 不能包含子节点 值必须用引号包裹引号都会用双引号进行解析