windows文件读取 xxe_XXE原理及利用

c8730cb180e87e7cf929c7f330c6d0bd.png

一个人的伟大之处乃在于他是一座桥梁,而不是目的。By尼采

”一XXE原理0 1XML 简介

XML 指可扩展标记语言(EXtensible Markup Language),和HTML很类似,但XML的设计目的是传输数据而非显示数据,且XML没有预定义的标签,因此需要自行定义标签。下面是一个XML文档的实例。

George

John

Reminder

Don't forget the meeting!

第一行是XML声明,定义XML版本(1.0)和使用的编码(ISO-8859-1 = Latin-1/西欧字符集)。

下一行为文档的根元素(note,说明为一个便签)。

接下来4行描述根的4个子元素(to,from,heading,和body):

George

John

Reminder

Don't forget the meeting!

最后一行定义根元素的结尾:

在XML中,需要注意:

 1、所有的元素都必须有关闭标签。

 2、XML 标签对大小写敏感。

 3、XML文档必须有根元素。

 4、XML 元素必须被正确的嵌套。

 5、XML 的属性值须加引号,如。

 6、在XML中,"

02DTD 简介

  文档类型定义(XML Document Type Declaration,DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

  DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用

  • 内部DOCTYPE声明

  在使用内部DOCTYPE声明的情况下,DTD包含在XML源文件中,须通过如下语法包装在DOCTYPE声明中:

元素声明]>

下面是一个带有DTD的XML文档实例:

]>

  George

  John

  Reminder

  Don't forget the meeting!

以上DTD解释如下:

!DOCTYPE note(第二行)定义此文档是 note 类型的文档。

!ELEMENT note(第三行)定义 note 元素有四个元素:"to、from、heading,、body"

!ELEMENT to(第四行)定义 to 元素为 "#PCDATA" 类型

!ELEMENT from(第五行)定义 from 元素为 "#PCDATA" 类型

!ELEMENT heading(第六行)定义 heading 元素为 "#PCDATA" 类型

!ELEMENT body(第七行)定义 body 元素为 "#PCDATA" 类型

  • 外部文档声明

  在使用外部文档声明的情况下,DTD位于XML源文件的外部,通过如下语法封装在DOCTYPE定义中:

下面的XML文档和上面的XML文档相同,只是有一个外部DTD:

George

John

Reminder

Don't forget the meeting!

note.dtd内容如下:

  • DTD实体

所有的XML文档(以及HTML文档)均由以下简单的构建模块构成:

 a.元素

 b.属性,可提供有关元素的额外信息

 c.实体,用来定义普通文本的变量。实体引用是对定义的变量的引用。

 d.PCDATA,意思是被解析的字符数据(parsed character data),文本中的标签会被当作标记来处理,而实体会被展开。

 e.CDATA,意思是字符数据(character data),是不会被解析器解析的文本,在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开

实体可在内部或者外部进行声明,一个内部声明的实体,语法如下:

DTD 例子:

writer"Bill Gates">

copyright"Copyright W3School.com.cn">

XML文档中引用:

&writer;&copyright;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值