XXE漏洞详解(一)——XML基础
今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE漏洞详解(一)——XML基础。
免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备进行渗透测试!
一、XML简介
XML,即Extensible Markdown Language,可扩展标记语言的缩写。XML是一种允许用户对自己的标记语言进行定义的源语言,可以用于标记数据,定义数据类型。XML是标准通用标记语言,具有可扩展性好、内容与形式分离、语法要求严格、保值性好等优点。 XML与HTML非常相似,但是XML的设计宗旨是用于传输数据,而HTML的设计宗旨是用于展示数据。XML的标签没有被预定义,因此我们可以自己定义标签。
二、XML语法规则
接下来,我们来讲解XML语法规则。
(一)XML基本语法
一个典型的XML文档如下所示:
<?xml version="1.0" encoding="utf-8" ?> <person> <name>Bob</name> <age>24</age> <address>1-1-110</address> <country>China</country> <major>History</major> </person>
在上述文档中,第一行是XML文档的头部声明,指明了XML文档的版本号和编码。XML对于头部声明并不严格要求,可有可无,但是一般最好写上头部声明。 在XML文档中,必须存在一个根节点,根节点是其他所有节点的父节点,在上述文档中,根节点是person。在XML中,所有的标签必须成对出现,标签名区分大小写并且标签不能交叉。但是标签名称可以自行定义。
(二)XML注释
XML文档中可以使用注释,注释的使用格式如下所示:
<!--This is annotation-->
(三)XML属性
XML支持在标签元素中定义属性,写法类似于HTML,示例如下所示:
<name len="3">Bob</name>
XML规定,一个标签可以有多个属性,但是属性的值必须使用引号括起来。
(四)XML特殊字符处理
XML如果想表达特殊字符,有两种方法。 第一种方法是使用转义字符,常用的转义字符如下表所示:
第二种方式是使用CDATA区域,CDATA区域定义如下所示:
<![CDATA[【CDATA区域内容】]]>
上一篇:
5款热门的远程控制软件,让你事半功倍
下一篇:
软件测试工具和报告学习-3月6日