web渗透xxe漏洞

xxe
xml external entity 外部实体注入,用户输入恶意 xml 被后台解析了恶意语句
owasptop10-- 不安全的配置
xml 是什么??
XML 指可扩展标记语言( EXtensible Markup Language )。
XML 是一种很像 HTML 的标记语言。
XML 的设计宗旨是传输数据,而不是显示数据。
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
语法
<?xml version="1.0" encoding="UTF-8"?>
<a>
<b> 1 </b>
<c> 2 </c>
</a>
①需要根节点
②标签用一 一对应的形式呈现,即每个标签需闭合
xml 声明(可选)
xml 对大小写敏感
⑤便签尽量不已 xml 开头
⑥名称中不包含空格
⑦不能以特殊符号开头
作用
①数据传输
②存储数据
xml 的合法性
xml 语法正确仅是格式、型正确
通过 dtd 验证 xml 是否合法
DTD(DOCUMENT TYPE DEFINITION) 文档类型定义
内部 DTD
DTD 文件包含于 xml
例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE user[<!ELEMENT user (username,password,age,class,school)>
<!ELEMENT username (#PCDATA)>
<!ELEMENT password (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT class (#PCDATA)>
<!ELEMENT school (#PCDATA)>]>
<user>
<username> zhang san </username>
<password> abc@123 </password>
<age> 1.9 </age>
<class> 家里蹲 </class>
<school> 1+1 </school>
</user>
!DOCTYPE 定义此文档为 user 类型文档
!ELEMENT 声明 user 中有那些元素,
!ELEMENT 声明元素类型,
PCDATA: 可被解析器解释的文本;
CDATA: 不会被解析器解释
外部 DTD
<!DOCTYPE root-element SYSTEM "filename">
例:
test.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE user SYSTEM "test.dtd">
<user>
<username> zhang san </username>
<password> abc@123 </password>
<age> 1.9 </age>
<class> 家里蹲 </class>
<school> 1+1 </school>
</user>
test.dtd
<!ELEMENT user (username,password,age,class,school)>
<!ELEMENT username (#PCDATA)>
<!ELEMENT password (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT class (#PCDATA)>
<!ELEMENT school (#PCDATA)>
DTD 实体
定义文本内容的变量
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE student[
<!ELEMENT student (name,age)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ENTITY a "zhangsan">
<!ENTITY b "8">
]>
<student>
<name> &a; </name>
<age> &b; </age>
</student>
注: & 实体名 ;
a b 相当于变量但以实体的方式表示 , 实体如: < 等,但在 xml 中实体名是可以自由定义的
还可以不定义元素直接写实体
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE student[
<!ENTITY a "zhangsan">
]>
<student>
<name> &a; </name>
</student>
外部实体
<!DOCTYPE root-element[<!ENTITY entity-name SYSTEM " 资源位置 ">]>
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE student[
<!ENTITY a SYSTEM "file://D:\phpstudy_pro\WWW\xxe\test4.dtd">
]>
<student>
<name> &a; </name>
</student>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ANY[
<!ENTITY a SYSTEM "file://D:\phpstudy_pro\WWW\xxe\test4.dtd">
]>
<name> &a; </name>
在外部 dtd 的基础上新增一个实体的约束即可
参数实体
<!ENTITY % 实体名称 " 实体值 ">
<!ENTITY % 实体名称 SYSTEM "URI">
例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ANY[
<!ENTITY % a SYSTEM "http://127.0.0.1/test.dtd">
%a;
]>
<name> &s; </name>
test.dtd
<!ENTITY s SYSTEM "file://xxxx">
为例 pikachu
pikachu 设置了一个通过 php 解析 xml 文件内容的页面
传入 xml 如下,通过参数实体获取敏感信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/638182.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

了解网卡、光猫、路由器

了解网卡、光猫、路由器 一、网卡二、光猫三、路由器四、光猫和路由器的联系和区别五、家庭正常上网的简单流程六、企业正常上网的简单流程 一、网卡 网卡&#xff1a;用来允许计算机在计算机网络上进行通讯的计算机硬件 一般来说&#xff0c;笔记本都有两种网卡&#xff0c;有…

【数值计算方法】 4.2 / Newton-Cotes公式

本质&#xff1a;具有等距节点的插值求积公式就是NC公式

OpenCV——Niblack局部阈值二值化方法

目录 一、Niblack算法1、算法概述2、参考文献二、代码实现三、结果展示OpenCV——Niblack局部阈值二值化方法由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、Niblack算法 1、算法概述 Niblack 算法是一种典型的局部阈值…

设计模式-观察者模式(Observer)

1. 概念 观察者模式&#xff08;Observer Pattern&#xff09;一种行为型设计模式。它定义了对象之间的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都会得到通知并自动更新。 2. 原理结构图 主题&#xff08;Subject&#xff09;&#xff…

【C语言】操作符相关编程题

目录 题目一&#xff1a; 题目二&#xff1a; 题目三&#xff1a; 题目三&#xff1a; 题目四&#xff1a; 题目五&#xff1a; 题目六&#xff1a; 题目七&#xff1a; 题目八&#xff1a; 题目一&#xff1a; 题目&#xff1a;不创建临时变量&#xff0c;交换两个数…

SpringMvc的核心组件和执行流程

一、 springmvc的核心组件及作用 1.DispatcherServlet:前置控制器&#xff0c;是整个流程控制的核心&#xff0c;用来控制其他组件的执行&#xff0c;降低了其他组件的耦合性 2.Handler:控制器&#xff0c;完成具体的业务逻辑&#xff0c;当DispatcherServlet接收到请求后&am…

C语言 字符函数和字符串函数

目录 1. 字符分类函数2. 字符转换函数3. strlen - 计算长度4. strcpy - 复制內容5. strcat - 追加內容6. strcmp - 比较大小7.strncpy - 指定复制8. strncat - 指定追加9. strncmp - 指定比较10. strstr - 查找子字符串11. strtok - 查找记号12. strerror - 错误码 正文开始 1…

深度图转点云

一、理论分析 二、其他分析 1、相机内参 相机内参主要是四个参数fx,fy,u0,v0。要明白相机内参就是相机内部参数&#xff0c;是参考像素坐标系而言&#xff0c;有了这个前提&#xff0c;这四个参数也就很好理解了。 &#xff08;1&#xff09;首先&#xff0c;。其中F是相机的…

使用easyexcel将csv转为excel

一.背景 供应商系统下载的csv文件不支持域控&#xff08;主要是第三方wps服务不能对csv文件加密&#xff0c;但是可以对office系列产品进行权限访问的加密控制&#xff09;。因此思路就改为现将csv文件转为excel文件&#xff0c;然后对excel文件进行加域控制。本文主要介绍如何…

mysql基础20——数据备份

数据备份 数据备份有2种 一种是物理备份 一种是逻辑备份 物理备份 物理备份 通过把数据文件复制出来 达到备份的目的 用得比较少 逻辑备份 逻辑备份 把描述数据库结构和内容的信息保存起来 达到备份的目的 是免费的 数据备份工具 mysqldump &#xff08;3种模式&#x…

【leetcode面试经典150题】66. 分隔链表(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

控制与估计的融合 —— 自抗扰控制

一、自抗扰控制—控制与估计融合 控制理论中的控制与估计是互为对偶的概念&#xff0c;二者在系统控制过程中相辅相成&#xff0c;共同实现了对系统状态的精确管理和优化控制。自抗扰控制&#xff08;Adaptive Disturbance Rejection Control, ADRC&#xff09;技术是将控制与…