其他分享
首页 > 其他分享> > 11.19 XXE

11.19 XXE

作者:互联网

XXE

全称XML External Entity Injection,XML外部实体注入攻击。

XML是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。

Html  标签固定 ,结构:html声明、头部、body  。为了显示数据

.xml   标签不固定,用户可自定义,结构:XML声明、DTD、文档元素。为了传输数据

 

<!DOCTYPE 变量名 [定义的元素]>

<!ELEMENT 变量名 (定义元素的名称)>

 

 

 

 

 

xml实体

 

在一个甚至多个XML文档中频繁使用某一条数据,可以先定义一个这条数据的别名,即一个ENTITY,然后在这些文档需要他的地方调用他。

分为外部实体、内部实体(来源区分)

XMl定义了两种ENTITY,一种在XML文档中使用,另一种作为参数在DTD文件中使用。

定义好的ENTITY在文档中通过“&实体名;”来使用。

可以把实体当作XML语言的变量。

 

实体类型:普通实体、外部实体、参数实体、外部参数实体

 

普通实体用&,参数实体用%

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE reset [
<!ENTITY % a SYSTEM "http://127.0.0.1/test.dtd">
%a;
]>
<reset>
  <login>&xxe;</login>
  <secret>Any bugs?</secret>
</reset>

 

XXE危害

使用file读取敏感文件:配置文件、/etc/passwd等

内网服务探测:http://10.10.10.10:80 /22/3306.....来探测端口

DOS攻击,递归调用,占用系统资源

 

无回显(盲型xxe)

使用数据带外技术(OOB),使用类似DNSlog的一些平台

 

标签:XML,11.19,实体,ENTITY,文档,XXE,DTD
来源: https://www.cnblogs.com/x98339/p/11891040.html