xxe漏洞
XML基础
XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。
<!--XML申明--> |
大白话解释下
大白话版XML基础讲解
1. XML是啥?
XML全称可扩展标记语言,你可以把它理解成一种“纯文本版的数据收纳盒”。它的核心作用是存储和传输结构化的数据,比如商品信息、用户资料等。举个栗子🌰:
- HTML(网页语言):负责把数据排版成好看的页面,比如字体颜色、表格布局。
- XML:只关心数据本身长啥样,比如一个商品的名字、价格、库存量。
📌 关键特点:标签可以自定义(比如
<手机型号>小米13</手机型号>
),不像HTML只能用固定标签(如<p>
)1
3
5
。
2. XML长什么样?
XML文档就像家谱,必须有一个“老祖宗”根标签,其他标签层层嵌套。比如:
xml
<!-- 文档声明(告诉电脑这是XML) --> |
-
<超市>
<商品 分类=”饮料”>
<名称>可乐</名称>
<价格>3.5</价格>
<库存>100</库存>
</商品>
</超市>
3. XML的规矩(语法)
3.XML的规矩 (语法)
1.严格大小写:
2.不能瞎起名:
)×不能用数字开头(如1<1号商品>
·×不能有空格(如<商品名称>)
·×别用特殊符号(如:或-)
3.躲开特殊字符:比如<要写成<;,否则电脑会以为是新标签。
4.注释写法:,不能嵌套。
4. XML能干啥用?
1.
传数据
:比如APP和服务器之间传订单信息,用XML打包数据,双方都能看懂
3
7
。
2.
当配置文件
:很多软件的设置文件(比如Java的Spring框架)用XML存参数
3
8
。
3.
小型数据库
:比如存几百本书的信息,方便随时读取
3
4
。
4.
规范数据格式
:比如电商平台要求所有商家用统一的XML格式上传商品
4
7
。
5. 举个实际例子
假设你要用XML存学生信息:
xml
|
- 根标签:
<班级>
- 嵌套结构:每个学生信息包裹在
<学生>
里,属性学号
区分不同学生
XML = 自定义标签 + 结构化数据 + 严格语法。它像一张万能表格,能把杂乱的数据整理得井井有条,方便电脑和人一起看懂。学XML的重点是:标签别写错、属性加引号、结构要清晰!
xml语言的格式
//xml的声明 |
首先第一句是声明,声明这是一段xml代码,接下来是一个DTD的部分,意思是读取d盘上的1.txt文件。比如我们经常要用到某一组数据,那么每次都引用,肯定是非常不方便的,所以把这组经常用的数据设置成为一个变量,需要的时候直接调用这个变量,通过以上的解释,我们不难看出,xml如果产生漏洞,那肯定就是在这个DTD部分,最后则是xml部分。
一道java题目结合xxe漏洞
CVE-2019-12415
之前刷题网鼎杯碰到的 顺便复习了下xxe(外部实体注入漏洞)