描述
攻击者发送一个SOAP请求与数组的长度表示的实际长度超过要求。如果服务器处理传输天真地相信指定的大小,然后攻击者可以故意低估了数组的大小,可能导致缓冲区溢出如果服务器试图读取整个数据集到内存中分配给一个较小的数组。
典型的严重性
执行流程
探索
确定目标应用程序:对手识别目标应用程序来执行缓冲区溢出。在这种攻击中,对手寻找应用程序使用SOAP作为通信机制。
实验
发现注入向量:对手识别注射向量提供过多的内容目标应用程序的缓冲区。
技术 |
敌人创建一个SOAP消息,不正确地指定数组的大小要小于实际内容的大小以很大的优势并将其发送给应用程序。如果这导致崩溃或某些意想不到的行为,很可能这是一个有效的注入向量。 |
工艺溢出内容:被注入的对手工艺品的内容。如果目的是简单地导致软件崩溃,内容只需要包含一个过度数量的随机数据。如果目的是利用执行任意代码的溢出,对手工艺品覆盖的有效载荷的方式返回地址被替换为对手的选择之一。
技术 |
创建时将执行的恶意shellcode返回程序执行。 |
使用NOP-sled溢出的内容更容易“幻灯片”到恶意代码。这样做的好处是,确切的返回地址不一定是正确的,只有在所有的空操作的范围 |
敌人会选择一种肥皂,让他们把shellcode缓冲数组时读到应用程序中。 |
利用
缓冲区溢出:使用注射向量,对手将精心制作的SOAP消息发送到程序中,缓冲区溢出。
先决条件
数组大小的有针对性的SOAP服务器必须信任所所接收消息是正确的,但通读整个消息的内容无论声明数组的大小。 |
所需资源
攻击者必须能够工艺畸形的SOAP消息,具体地说,信息与数组的声明数组的数组大小低估了实际大小的信息。 |
缓解措施
如果服务器验证声明数组大小的正确性或如果服务器停止处理数组一旦规定数量的元素已经被阅读,不管实际数组的大小,那么这种攻击将会失败。前检测畸形的SOAP消息而后者确保服务器不会尝试加载更多的数据比分配。 |
分类法映射
引用
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-08-04
(版本2.11) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2019-04-04
(版本3.1) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Taxonomy_Mappings |
2021-10-21
(版本3.6) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述,Execution_Flow |
|