描述
这种攻击利用某些序列化数据解析器(例如,XML、YAML等等)在低效的方式管理数据。攻击者工艺品一个序列化数据文件与多个配置参数在相同的数据集。在一个脆弱的解析器,这将导致拒绝服务条件的CPU资源耗尽,因为解析算法。被剥削与解析器实现的弱点,而不是特定于语言的。
攻击的可能性
典型的严重性
执行流程
探索
调查目标:使用浏览器或一个自动化工具,攻击者记录web服务处理请求的所有实例使用序列化数据。
技术 |
使用自动化工具来记录所有实例序列化数据的url来处理请求。 |
网站使用浏览器手动探索和分析应用程序进程如何使用序列化数据的请求。 |
利用
发动爆炸袭击:攻击者工艺品恶意消息包含多个配置参数在相同的数据集。
技术 |
包含多个配置参数发送恶意的消息到目标URL,造成拒绝服务。 |
先决条件
服务器接受输入的形式序列化数据,使用解析器和一个运行时超过O (n)插入一个新的配置参数数据的容器。(例子是。net framework 1.0和1.1) |
缓解措施
这种攻击可能减轻完全通过使用解析器不使用一个脆弱的容器。 |
缓解可能限制配置参数/数据集的数量。 |
例子,实例
在这个例子中,假设受害者是运行一个。net framework 1.0等脆弱的解析器。这导致二次运行时的O (n ^ 2)。
< ?xml version = " 1.0 " ? > < foo aaa = " " 打鼾声= " " … 999 = " " / > 文档与n属性导致(n ^ 2) / 2操作。如果手术需要100纳秒然后用100000次操作文档将500年代的过程。以这种方式小于1 mb的小消息引起拒绝服务条件上的CPU资源。 |
YAML炸弹利用引用在YAML文件在内存中创建指数增长的需求。通过创建一个链键的值是一个列表,多个引用到下一个关键链中,所需的内存和处理来处理数据呈指数级增长。这可能导致拒绝服务或不稳定造成过度的资源消耗。 |
分类法映射
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-08-04
(版本2.11) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Activation_Zone Attack_Phases,描述,描述总结,Examples-Instances, Injection_Vector, Methods_of_Attack,有效载荷,Related_Attack_Patterns, Typical_Likelihood_of_Exploit Typical_Severity |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新@ name、描述Example_Instances Execution_Flow,移植,先决条件 |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Taxonomy_Mappings |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
以前的条目名称 |
改变日期 |
以前的条目名称 |
2020-07-30
(版本3.3) |
XML属性崩溃 |
|
|