美文网首页
XML引用(4)--DTD应用

XML引用(4)--DTD应用

作者: 六亲不认的步伐 | 来源:发表于2020-03-26 16:19 被阅读0次

DTD实体声明(自定义)

作用:类似于C语言的宏定义(#define)
关键字:ENTITY
语法格式:<!ENTITY entity-name "entity-value">

<!ENTITY SSH "port:22">
<Port>SSH:&SSH;</Port>
成功将实体输出
如何对完成DTD限制的规则应用到xml文档中,就类似于js,css如何应用于html上相同,主要分为两大类,页内嵌入页外引入

XML引入DTD进行应用

1.内部的 DOCTYPE 声明嵌入方法

关键字:DOCTYPE
语法格式:<!DOCTYPE root-element [element-declarations]>
根据语法格式需要指定根元素(root-element),是不是可以指定其他元素?

<?xml version="1.0"?>
<!DOCTYPE to [
<!ENTITY SSH "port:22">
]>
<root>
<to>
    <ssh>ssh:&SSH;</ssh>
</to>
</root>
成功执行实体

自己一度理解:可以把root-element理解为作用域,可以将DTD规则应用于本元素与子元素
但是自己重新进行测试时,发现了一些端倪

root元素依旧能够解析实体
所以此处产生了一个问题,这个root-element要求是不是可以xml任意有的元素即可

2.外部的DTD引用

关键字:DOCTYPE
语法格式:<!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name">
type-of-doc:文档类型名称,自定义值,为了规范性,一般取根元素名称
dtd-name:可以是具体的dtd文件,也可以是远程的dtd链接(URL)

参数 功能
SYSTEM 使用的私有的外部DTD文件
PUBLIC 调用公开的DTD文件(权威机构)

一般搭配是:SYSTEM配合本地位置dtd文件 PUBLIC配合URL文件

引用外部实体方式
通过外部实体语法引用外部DTD实体。
但是在使用浏览器执行引用外部xml实体时出现问题,无法识别定义的实体;
外部实体未识别
对于未正确显示的情况,自己也进行资料查找,最后查找到了答案xml引用实体报错怎么回事

后记:外部实体引用是非常危险,著名的XXE漏洞本质就是外部实体注入来执行恶意代码,利用SSRF漏洞内网探测,甚至可以读取任意文件,执行系统命令。


第一篇:XML简介(1)--头部声明
第二篇:XML编写(2)--语法要求
第三篇:XML规范(3)--DTD限制
第五篇:XXE基础(1)--实体类别
第六篇:XXE利用(2)--漏洞实现
第七篇:XXE后记(3)--抛砖引玉

相关文章

  • XML引用(4)--DTD应用

    DTD实体声明(自定义) 作用:类似于C语言的宏定义(#define)关键字:ENTITY语法格式:

  • DTD概念

    DTD文档定义 DTD元素定义 DTD属性定义 DTD实体引用定义 XML和DTD 文中大写是强制的,请务必遵守。...

  • XXE——参数实体攻击(CVE-2017-14949)

    XML参数实体 参数实体必须定义在单独的DTD文档中或XML文档的DTD区(但是引用只能在DTD文档中,即外部子集...

  • dtd文件 使用注意

    问题 不同机房,部分应用没法启动 报错image.png mapper.xml配置 解决 引用本地的dtd文件 原...

  • XML类别及解析XML的几种方式

    XML约束文档分为DTD,Schema两种格式 DTD DTD(Document Type Definition)...

  • 三、XML Schema解析验证

    目录 1、XML解析2、XML Schema 或DTD3、复杂的解析和验证4、深度优先搜索 一、XML解析 有一个...

  • XML(二)XML约束

    XML约束 DTD DTD(Document Type Define),dtd文件中描述并规定了元素、属性和其他内...

  • Eclipse使用

    添加dtd文件 Window => Preferences => XML XML Catalog => add 例...

  • XML的验证模式DTD与XSD的区别

    xml文件的正确性是由xml的验证模式来保证的,比较常见的验证模式有两种:DTD和XSD。 1.DTD: DTD(...

  • 初识XXE漏洞

    XML是一种可扩展性语言,经常被用来传输和存储数据。 XML包括XML声明、DTD文档类型定义、文档元素。DTD文...

网友评论

      本文标题:XML引用(4)--DTD应用

      本文链接:https://www.haomeiwen.com/subject/irlcuhtx.html