首页 > 其他分享 >XXE攻击

XXE攻击

时间:2023-05-28 22:44:52浏览次数:30  
标签:XML 攻击 实体 DTD 外部 文档 XXE

概述

XXE

XXE全称XML External Entity Injection,也就是XML外部实体注入。

它是对解析XML输入的应用程序的一种攻击。当配置不当的XML处理器处理包含对外部实体的引用的XML输入时,就会发生此攻击。

XML的作用

XML 被设计用来传输和存储数据,其关注点是数据的内容。 XML 旨在传输信息。要解释XML数据,应用程序需要XML解析器。

XML文档可以是特定类型。可以通过指定类型定义在文档中声明此类型。XML解析器会在处理文档之前验证XML文档是否遵守此类型定义。您可以使用两种类型的类型定义:XML架构定义(XSD)或文档类型定义(DTD)。XXE漏洞发生在“文档类型定义”中。

什么是DTD(文档类型定义)

DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。 DTD的声明:指XML文档中声明该文档的DTD或DTD来源的部分,可以包含在使用它的XML文档内部,也可以以独立的DTD文档(*.dtd)文档存在。

所以DTD一般认为有两种引用或声明方式:

1、内部DTD:即对XML文档中的元素、属性和实体的DTD的声明都在XML文档中。

2、外部DTD:即对XML文档中的元素、属性和实体的DTD的声明都在一个独立的DTD文件(.dtd)中。

DTD文档的三种形式:

内部DTD类型:<!DOCTYPE 根元素[子元素声明]>

外部DTD类型:<!DOCTYPE 根元素 SYSTEM "DTD文件路径">

内外部DTD文档结合:<!DOCTYPE 根元素 SYSTEM "DTD文件路径" [定义内容]>

在XXE中最常用的是内部DTD类型。

在DTD内,我们可以声明外部实体。

什么是XML实体(ENTITY)

实体是用于定义引用普通文本或者特殊字符的快捷方式的变量。

XML实体几乎可以来自任何地方-包括外部资源(因此称为XML外部实体)。

在DTD中的实体类型,一般分为:内部实体和外部实体,细分又分为普通实体和参数实体。

实体的具体分类

预定义:<  &amp;

    > &lt;

    & &amp;

    '  &apos;

    "  &quot;

内部实体:<!ENTITY 实体名称 "实体的值">

外部实体:<!ENTITY 实体名称 SYSTEM "URI/URL">

内部实体和外部实体统称为普通实体

普通实体的引用方式是&普通实体名;

参数实体:<!ENTITY % 实体名 "实体内容">

参数实体的引用方式是%实体名;

普通实体和参数实体可能是:

内部的(定义在当前DTD中)

外部的(定义在外部资源中)

可能造成XXE的风险因素

该应用程序解析XML文档

实体的系统标识符部分,文档类型声明(DTD)中允许使用受污染的数据

XML解析器配置为验证和处理DTD

XML解析器配置为解析DTD内的外部实体

XXE的影响

本地文件读取

内网访问

主机扫描/端口扫描

远程代码执行(不常用)

拒绝服务攻击

防御

尽可能使用简单的数据格式(如JSON),并避免敏感数据序列化。

修补或升级XML处理器和库。使用依赖项检查器。

在应用程序的所有XML解析器中禁用XML外部实体和DTD处理。

在服务器端使用白名单输入验证,过滤或清理,防止XML文档、表头、节点内的恶意数据。

XML或XSL文件上传功能使用XSD(XML架构定义)验证传入的XML。

SAST根据检测源代码中的XXE。

使用虚拟补丁程序,API安全网关或Web应用程序防火墙(WAF)来检测和阻止XXE攻击

标签:XML,攻击,实体,DTD,外部,文档,XXE
From: https://www.cnblogs.com/zgl-/p/17439033.html

相关文章

  • CSRF攻击
    跨站请求伪造(英语:Cross-siterequestforgery),也被称为one-clickattack或者sessionriding,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF利用的是网站对用户网......
  • 渗透测试分析 ---- xxe实体注入入门
    因为我对xxe知之甚少,所以使用chatgpt帮忙翻译了一下效果十分优秀,当xml解析器解析了这句话就会取出外部数据 ......
  • m随机网络,无标度网络,小世界网络以及NS小世界网络在网络攻击中的性能仿真
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要        1.随机网络(randomnetwork)          2.无标度网络(scale-freenetwork)          3.小世界network          4.NS小世界network......
  • 常见的网络攻击方式
      ......
  • 震惊!二狗子的火锅店被隔壁老王 DDoS 攻击了
    近两年,游戏出海已经成为了出海热潮中的一员。在“后宅经济时代”的影响下,也得益于海外市场的互联网人口,游戏出海涨势非常迅猛。部分游戏在短时间内走红后,就会遭到了一些“有心人”发起的恶意网络攻击,其中最为常见的一种就是DDoS攻击。在聊DDoS攻击之前,我们先来看看什么是Do......
  • RSA之低加密指数广播攻击------2023.5.22
    使用条件:模数n,密文C不同,明文m,加密指数e相同。(一般的话e=k,k是题目给出的n和c的组数)例如:e=k=3同余式组:C1≡m^emodn1C2≡m^emodn2C3≡m^emodn3由中国剩余定理:设n1,n2,n3是两两互素的正整数,M=n1∗n2∗n3Mi=M/ni (i=1,2,3)则同余式组: m^e≡Ci mod ni  (i=1,2,3)有唯一解......
  • RSA之低指数攻击------2023.5.22
    1,e=3的小明文攻击:特点:当e=3时,如果明文过小,导致明文的三次方仍然小于n,那么通过直接对密文开三次方即可得到明文。 即:C=m^e mod n,如果e=3,且m^e<n,则C=m^e,m=c^(1/3) 2.如果明文的三次方比n大,但不是足够大,那么设k有: C=m^e+k∗n 爆破k,如果 C−k∗n 或者 C+k∗n......
  • CSRF攻击的原理和spring security的解决方法
    本文转载自:https://blog.csdn.net/qq_42956993/article/details/110213224一个用户通过浏览器成功登录一个网站,登陆成功后,服务器会返回一个该用户的唯一标识放入浏览器Cookie中,以此作为用户之后操作的唯一凭证。假设此时该用户在此网站中请求一个表单类的网页,这时候用户又打开......
  • WP插件新漏洞使超过 200 万个站点面临网络攻击
    近日,在发现安全漏洞后,敦促WordPress高级自定义字段插件的用户更新版本6.1.6。该问题的标识符为CVE-2023-30777,与反映的跨站点脚本(XSS)案例有关,该案例可能被滥用以将任意可执行脚本注入其他良性网站。该插件有免费版和专业版,活跃安装量超过200万。该问题于2023年5月......
  • 【故障公告】博客站点一台阿里云负载均衡被DDoS攻击
    13:06收到阿里云的电话与邮件通知,博客站点的一台阿里云负载均衡因DDoS攻击被关进黑洞(所有访问被屏蔽),部分用户的访问受影响,由此给您带来麻烦,请您谅解。您的IP:x.x.x.x实例名称:yyyy受到攻击,攻击流量已超过DDoS基础防护的黑洞阈值,服务器的所有公网访问已被屏蔽,屏蔽时长20分钟,......