今天看啥  ›  专栏  ›  编码安全研究

XML 基础知识 && XXE 漏洞原理解析及实验

编码安全研究  · 公众号  ·  · 2024-08-05 17:07
    

主要观点总结

本文介绍了XXE漏洞的相关知识,包括XML、HTML的关系,XML的结构,DTD的作用,以及XXE漏洞的原理和攻击方式。

关键观点总结

关键观点1: XXE漏洞概述

XXE(XML External Entity Injection,XML外部实体注入)是一种针对XML解析器的漏洞。当应用程序使用XML文件作为数据交换格式时,如果允许使用外部实体并且没有正确过滤或处理这些实体,就可能导致XXE漏洞。

关键观点2: XML与HTML的关系

HTML用于显示数据,关注数据的外观;而XML用于传输和存储数据,关注数据的内容。

关键观点3: DTD的作用

DTD(Document Type Definition,文档类型定义)用于定义XML文档的结构和规则,确保文档符合特定的格式要求。

关键观点4: XXE漏洞的原理和攻击方式

攻击者通过构造恶意的XML数据,利用外部实体引用,获取服务器上的敏感文件或者执行恶意操作。有回显的XXE和无回显的XXE是两种不同的攻击方式。

关键观点5: XXE漏洞的防御方式

防御XXE漏洞的主要方式是禁用外部实体。此外,还可以通过黑名单过滤等方式进行防御。


文章预览

XML 介绍 XXE 全称 XML 外部实体注入,所以在介绍 XXE 漏洞之前,先来说一说什么是 XML 以及为什么使用 XML 进而再介绍一下 XML 的结构。 XML 全称 可拓展标记语言,与 HTML 相互配合后: HMTL 用来显示数据 HTML 的焦点在于数据的外观(如何显示数据) XML 用来 传输和存储数据 XML 的焦点在于数据的内容(如何存储传输数据) 总结来说: HTML 提供了一个模板, XML 动态的改变模板中对应数据位置中的数据。 为什么要将数据从 HTML 中分离 若要在 HTML 文档中显示动态的数据,每当数据需要改变的时候需要大量的时间编辑 HTML。 通过 XML 将数据存储在独立的 XML 文件中,每次需要更新数据时只需通过发出 XMLHttpRequest 到服务端请求相应的数据( Ajax )即可。 而 HTML/CSS 只需专注于显示与布局即可,底层的数据从 XML 文件中获取即可,这样修改底层的数据不会对 HTML ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览