当前位置:   article > 正文

(渗透学习)XXE漏洞原理 & 挖掘 & 利用 & 防御_xxe漏洞挖掘

xxe漏洞挖掘

1、XML和XXE简介

xml和html结构类似,不同的是:

XML 被设计用来传输和存储数据。

HTML 被设计用来显示数据。

XML 文档结构包括 XML 声明DTD 文档类型定义(可选)、文档元素

(1)什么是DTD?

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

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

① 内部的 DOCTYPE 声明:

<!DOCTYPE 根元素 [元素声明]>

如下就是一个典型的内部DTD声明 

  1. <!--XML 声明-->
  2. <?xml version="1.0"?>
  3. <!--文档类型定义-->
  4. <!DOCTYPE note [ <!--定义此文档是 note 类型的文档-->
  5. <!ELEMENT note (to,from,heading,body)> <!--定义 note 元素有四个元素-->
  6. <!ELEMENT to (#PCDATA)> <!--定义 to 元素为”#PCDATA”类型-->
  7. <!ELEMENT from (#PCDATA)> <!--定义 from 元素为”#PCDATA”类型-->
  8. <!ELEMENT head (#PCDATA)> <!--定义 head 元素为”#PCDATA”类型-->
  9. <!ELEMENT body (#PCDATA)> <!--定义 body 元素为”#PCDATA”类型-->
  10. ]]]>
  11. <!--文档元素-->
  12. <note>
  13. <to>Dave</to>
  14. <from>Tom</from>
  15. <head>Reminder</head>
  16. <body>You are a good man</body>
  17. </note>

② 外部引用:

<!DOCTYPE 根元素 SYSTEM ” 文件名 ”> 

如下xml代码引用了外部DTD,文件为“note.dtd” 

  1. <?xml version="1.0"?>
  2. <!DOCTYPE note SYSTEM "note.dtd">
  3. <note>
  4. <to>George</to>
  5. <from>John</from>
  6. <heading>Reminder</heading>
  7. <body>Don't forget the meeting!</body>
  8. </note>

note.dtd:

  1. <!ELEMENT note (to,from,heading,body)>
  2. <!ELEMENT to (#PCDATA)>
  3. <!ELEMENT from (#PCDATA)>
  4. <!ELEMENT heading (#PCDATA)>
  5. <!ELEMENT body (#PCDATA)>

(2)什么是DTD 实体?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/590019
推荐阅读
相关标签
  

闽ICP备14008679号