当前位置: 首页 > 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中的密码文件的内容,如下所示:

相关文章:

  • 使用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 计算机的操作系统
  • 金融创新破局记:中小微企业转型背后的金融力量
  • 瞄准“美丽健康”赛道,上海奉贤如何打造宜居宜业之城?
  • 外交部回应涉长江和记出售巴拿马运河港口交易:望有关各方审慎行事,充分沟通
  • 伊朗爆炸港口已恢复货物进出口工作
  • “爱泼斯坦案”关键证人弗吉尼亚·朱弗雷自杀身亡
  • 海南高院通报去年知产领域司法保护状况:审结民事一审案件4847起