描述
这种攻击利用了某些数据串行化语言的实体替换属性(例如,XML、YAML等等),替换的值是一个URI。一个精心制作的文件可以实体引用的URI,消耗大量的资源来创建一个拒绝服务条件。这可以冻结,导致系统崩溃,或者执行任意代码根据URI。
执行流程
探索
找到目标web服务:敌人必须首先找到一个需要输入数据的web服务的形式序列化XML或YAML等语言。
实验
主机上的恶意文件服务器:对手将创建一个web服务器,其中包含一个恶意文件。这个文件将会非常大,所以如果一个web服务尝试加载它,服务很可能会挂起。
工艺恶意数据:使用串行化语言的web服务,它接收,对手将工艺数据,使用一个外部实体引用链接到恶意文件文件的URL。
利用
包含URI发送序列化数据:对手将特别制作的序列化数据发送到web服务。当web服务加载输入时,它将尝试下载恶意文件。根据记忆的web服务的数量,这可以崩溃服务或使它挂起,导致拒绝服务攻击。
先决条件
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
可用性 |
资源消耗 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
缓解措施
这种攻击可能减轻通过调整XML解析器不解决外部实体。如果需要外部实体,然后实现一个自定义XmlResolver请求超时,数据检索限制和限制资源可以在本地检索。 |
这种攻击可能减轻通过调整序列化数据解析器不解决外部实体。如果需要外部实体,然后实现一个自定义解析器,请求超时,数据检索限制和限制资源可以在本地检索。 |
例子,实例
在本例中,XML解析器解析XML并打开恶意攻击者的URI,攻击者控制服务器并将大量的数据写入响应流。在这个例子中恶意URI是一个大文件传输。
< ?xml version = " 1.0 " ? > < ! DOCTYPE炸弹( < !实体引爆系统" http://www.malicious-badguy.com/myhugefile.exe " > ]> < /炸弹> > <炸弹引爆; |
分类法映射
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-08-04
(版本2.11) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新@ name、描述、移植,Related_Attack_Patterns |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新后的后果,Taxonomy_Mappings |
2021-10-21
(版本3.6) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Execution_Flow |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances Related_Attack_Patterns |
以前的条目名称 |
改变日期 |
以前的条目名称 |
2018-07-31
(版本2.12) |
XML外部实体 |
|
2020-07-30
(版本3.3) |
XML外部实体崩溃 |
|
|