XXE漏洞详解(二)——DTD基础

简介: XXE漏洞详解(二)——DTD基础

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE漏洞详解(二)——DTD基础。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、DTD简介和用法
DTD,即Document Type Definition,文档类型定义的简称,是一种精确描述XML语言的方式。DTD根据XML语言的语法规则检查XML文档结构的词汇和有效性。DTD主要用于保证XML文档格式正确,我们可以通过比较XML文档和DTD文件来看文档是否合乎规范,元素和标签使用是否正确。
我们可以在XML文档中指定DTD,即内部DTD。也可以将DTD保存在单独的文档中,然后单独添加,这样即外部DTD。

二、内部DTD使用
内部DTD指的是直接在XML文档中声明元素,这时需要在XML的头部声明中添加属性standalone,并将该属性的值设置为"yes"。
内部DTD使用语法如下所示:

<!DOCTYPE root-element
[
element-declarations
]>
1
2
3
4
一个内部DTD格式如下所示:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<!DOCTYPE person [
<!ELEMENT person (name,age,address,country,major)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT major (#PCDATA)>
]>


Bob
24
1-1-110
China
History

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
其中

<!ELEMENT person (name,age,address,country,major)>
1
定义了person根节点下面存在name、age等属性。

<!ELEMENT name (#PCDATA)>
1
则定义了name属性的类型是(#PCDATA)。

三、外部DTD使用
外部DTD元素定义在XML文档之外,可以是合法的.dtd文件,也可以是有效的URL。如果要引用外部DTD,那么在XML的头部声明中,需要设置standalone属性为"no"。
外部DTD声明语法为:

<!ENTITY element SYSTEM "xxx.dtd|http://…………">
1
例如:

<!ENTITY element1 SYSTEM "filename.dtd">
<!ENTITY element2 SYSTEM "http://www.exp.com/exp.dtd">
1
2
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/128412513

目录
相关文章
|
Web App开发 移动开发 安全
Struts2 S2-062 (CVE-2021-31805) 远程代码执行漏洞
Apache 官方发布了 Apache Struts2 的风险通告,漏洞编号为 CVE-2021-31805,可能会导致远程代码执行。
197 1
|
5月前
|
XML 安全 网络安全
XXE漏洞详解(一)——XML基础
XXE漏洞详解(一)——XML基础
40 1
|
5月前
|
XML 安全 网络安全
XXE漏洞详解(三)——XXE漏洞实际运用
XXE漏洞详解(三)——XXE漏洞实际运用
310 4
|
8月前
|
安全 开发工具 git
xss漏洞工具 -- xsser
xss漏洞工具 -- xsser
209 0
|
XML 存储 安全
WEB漏洞 XML & XXE漏洞
WEB漏洞 XML & XXE漏洞
|
XML 安全 网络协议
WEB常见漏洞之XXE(靶场篇)
WEB常见漏洞之XXE(靶场篇)
1098 0
|
XML 安全 JavaScript
WEB常见漏洞之XXE(基础原理篇)
WEB常见漏洞之XXE(基础原理篇)
210 0
|
XML 存储 JSON
WEB常见漏洞之反序列化(靶场篇)3
WEB常见漏洞之反序列化(靶场篇)
323 0
|
存储 安全 前端开发
WEB常见漏洞之反序列化(靶场篇)1
WEB常见漏洞之反序列化(靶场篇)
608 0
|
存储 安全 JavaScript
WEB常见漏洞之反序列化(靶场篇)2
WEB常见漏洞之反序列化(靶场篇)
298 0