当前位置: 首页 > news >正文

Spring XML 外部实体(XXE)指南:示例和预防

什么是XXE?

XML 文档遵循特定的标准。该标准强调了 XML 文档的构造方式,概述了有效 XML 文档与无效 XML 文档的区别等等。

该标准还指定了一个称为“实体”的术语。实体是某些内容的占位符。

实体可以是内部的,也可以是外部的(就像我们的情况一样)。

实体通过系统标识符访问。此标识符是指向位置的指针。它可以是文件或 URL。该标准规定了 XML 解析器软件访问此实体时应发生的情况。

它获取系统标识符指向的文件/URL,并将系统标识符替换为文件/网站的内容。例如,如果我们有一个如下所示的 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>
<Catalog>
<Movie>
<Title>World War Z</Title>
<Director>Marc Forester</Director>
<Country>USA</Country>
<Year>2013</Year>
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
&xxe;
</Movie>复制

这一行的内容

&xxe;

将被替换为file://etc/passwd中的密码文件的内容,如下所示:

http://www.dtcms.com/a/160066.html

相关文章:

  • 使用XMLSpy校验xml是否合法
  • 强化学习中关键超参数的详细说明
  • vue2 开发一个实习管理系统电脑端-前端静态网站练习
  • 基于知识库的客户服务工具
  • Kubernetes学习笔记-环境变量的使用
  • 使用 Vue 3 开发桌面端应用的框架性能对比
  • 图神经网络(GNN)基本概念与核心原理
  • Qt中的全局函数讲解集合(全)
  • IM云端搜索全面升级,独家能力拓展更多“社交连接”玩法
  • Windows server 2019中百度网盘登录中安全验证窗口空白
  • 华为IP(5)
  • AtCoder Beginner Contest 242 G - Range Pairing Query (莫队)
  • JS 中call、apply 和 bind使用方法和场景
  • Ascend C常见问题案例:含有Matmul高层API的算子精度问题
  • 【音视频】视频解码实战
  • Linux一个系统程序——进度条
  • 【基础篇】prometheus页面UI功能详解
  • C# 类(Class)教程
  • web 开发中,前端部署更新后,该怎么通知用户刷新
  • Java EE 计算机的操作系统
  • Python爬虫课程实验指导书
  • ZeroGrasp:零样本形状重建助力机器人抓取
  • Pikachu靶场-目录遍历
  • 单相交直交变频电路设计——matlab仿真+4500字word报告
  • Python multiprocessing.Pool中,pool.close() 和 pool.join() 的作用
  • 【JavaScript】关系运算符--非数值类型、Unicode编码表
  • Pmax非英语国家投广,Feed语言和货币问题解决策略
  • Laravel5.7的一些用法
  • DuckDB:现代数据分析的“SQLite“内核革命
  • 人类社会的第四阶段