描述
在这种攻击中,目标软件是给定的输入,对手知道将被修改和扩展的大小在处理。这种攻击依赖于目标软件未能预料到扩大数据可能超过一些内部限制,从而创建一个缓冲区溢出。
攻击的可能性
典型的严重性
执行流程
探索
确定目标应用程序:敌人标识一个目标应用程序或程序执行缓冲区溢出。对手经常寻找应用程序接受用户输入并执行手动内存管理。
实验
发现注入向量:对手识别注射向量提供过多的内容目标应用程序的缓冲区。
技术 |
在这种攻击中,普通的方法提供庞大的用户输入不工作。程序执行边界检查用户输入,而不是扩大用户输入。敌人需要提供输入,他们认为将扩展程序溢出缓冲区。确定这是可能的,敌人也需要知识的内部运作程序或使用反汇编程序和其他逆向工程工具来指导搜索。 |
工艺溢出内容:对手工艺输入给程序。如果目的是简单地导致软件崩溃,输入只需要扩大过度数量的随机数据。如果目的是利用执行任意代码的溢出,对手将工艺输入扩展的方式不仅针对缓冲溢出,并以这样一种方式,覆盖返回地址被替换为一个对手的选择指向代码注入的对手。
技术 |
创建特定的系统上的文件和目录,然后给那些目录使用路径遍历输入快捷键可以扩大过去的输入缓冲区。 |
利用
缓冲区溢出:使用注射向量,敌人给精心设计的输入程序,缓冲区溢出。
先决条件
程序扩展的一个参数传递给一个函数的输入控制的用户,但是后面的函数利用参数错误地认为最初的扩张,而不是扩大参数的大小。 |
扩展参数在上下文中使用缓冲区溢出可能成为可能由于错误的理解参数的大小(即认为它比真的是小)。 |
技能要求
(级别:高) 发现这个特定的缓冲区溢出可能不是微不足道的。同时,尤其是堆和栈建立缓冲区溢位需要大量的知识如果预期的目标是执行任意代码。不仅如此对手需要编写shell代码来完成他们的目标,但敌人也需要找到一种方法让程序执行跳转到种植shell代码。还需要有足够的空间有效载荷。所以不是每个缓冲区溢出是可利用的,甚至由技术熟练的对手。 |
所需资源
访问程序源代码或二进制。如果程序是仅可在二进制反汇编程序和其他逆向工程工具将是有益的。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
访问控制
授权 |
获得特权 |
|
可用性 |
不可靠的执行 |
|
完整性 |
修改数据 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
保密 |
读取数据 |
|
缓解措施
确保当参数扩展的代码,用于确定结果的假设参数的大小是精确的,并确保新尺寸的参数是可见的整个系统 |
例子,实例
攻击的例子:FTP水珠() 通配符匹配操作符()函数在FTP服务器受到攻击的结果是不正确的调整。这是一个ftpd水珠()扩张堆溢出漏洞列表。ftp守护进程包含一个基于堆的缓冲区溢出的情况。溢出发生在命令发出一个参数列表扩展成一个超大号的字符串被一团处理后()。 这个缓冲区溢出发生在动态分配的内存。对敌人来说可能利用这个漏洞和受影响的主机上执行任意代码。 利用这一点,对手必须能够在目标主机上创建目录。 通配符匹配操作符()函数用于速记符号扩展成完整的文件名。通过发送到FTP服务器请求包含一个波浪号(~)和其他通配符的路径名字符串,一个偏远的对手可以溢出缓冲区和FTP服务器上执行任意代码获得根权限。一旦处理请求,水珠()函数扩展了用户输入,这可能会超过预期的长度。为了利用这个漏洞,对手必须能够在FTP服务器上创建目录。 (REF-1] 参见:cve - 2001 - 0249 |
缓冲区溢出在通配符匹配操作符实现libc NetBSD-current 20050914之前,和NetBSD 2。* 3。*在20061203之前,因为使用的FTP守护进程,允许远程执行任意代码经过身份验证的用户通过一个长路径名扩张所导致的路径。 一个内部缓冲区的限制计算是正确完成的。在字节缓冲区的大小是用作元素计数,即使缓冲区的元素是2字节长。长扩展路径名因此溢出缓冲区。 参见:cve - 2006 - 6652 |
引用
[REF-1] g·霍格伦德和g·麦格劳。“利用软件:如何打破代码”。addison - wesley。2004 - 02。 |
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2015-11-09
(版本2.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Attack_Phases |
2015-12-07
(版本2.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Attack_Phases |
2017-01-09
(版本2.9) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Attack_Phases |
2017-05-01
(版本2.10) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Attack_Phases |
2017-08-04
(版本2.11) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Attack_Phases |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Attack_Phases |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances Skills_Required |
2021-10-21
(版本3.6) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述,Execution_Flow |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances Skills_Required |
|