描述
在这种攻击中,这样做是为了使有源滤波器在失败导致一个超大号的事务。攻击者可能试图喂过于长输入字符串中的程序试图压倒过滤(通过导致缓冲区溢出),希望安全地过滤器不失败(即用户输入让到系统过滤)。
攻击的可能性
典型的严重性
执行流程
探索
调查:攻击者调查目标应用程序,这可能是一个有效的和经过身份验证的用户
技术 |
输入搜索网站,包括潜在的过滤 |
蛮力的猜测过滤输入 |
实验
尝试注射:尝试过于长数据反馈给系统。可以手动或动态工具(黑盒)可用于自动化。攻击者也可以使用自定义脚本。
技术 |
蛮力攻击通过黑盒测试工具渗透。 |
起毛的通信协议 |
手工测试与攻击可能的输入数据。 |
监控反应:关注失败发生的任何迹象。仔细观察过滤器故障发生时发生了什么。中得到的数据吗?
技术 |
硼标记。选择明确的攻击很容易注意到输入输出。在二进制这通常是0 xa5a5a5a5(交替1和0)。另一个明显的标签值都是零,但它并不总是显而易见的出错如果null值的数据。 |
检查日志文件。攻击者访问日志文件可以看坏的结果输入。 |
利用
滥用该系统通过过滤器失败:攻击者编写一个脚本来一直诱导筛选失败。
技术 |
DoS通过筛选失败。攻击者会导致系统崩溃或保持下来,因为它未能正常过滤。 |
恶意代码的执行。恶意代码攻击者介绍,在目标系统上执行任意代码。 |
攻击者可以使用过滤器没有恶意数据引入到系统和利用后续SQL注入,跨站脚本命令注入或类似的弱点如果它存在。 |
先决条件
技能要求
(等级:低) 攻击者可以简单地由一个长字符串插入溢出缓冲区attacker-modifiable注入向量。结果可以是一个DoS。 |
(级别:高) 利用缓冲区溢出堆栈注入恶意代码的软件系统,甚至堆可能需要更高的技术水平。 |
指标
许多应用程序抛出的异常的过滤模块在短的时间内。检查日志。探测器是否来自同一个IP地址。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
完整性 |
修改数据 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
保密
访问控制
授权 |
旁路保护机制 |
|
可用性 |
不可靠的执行 |
|
缓解措施
确保任何故障发生在过滤或妥善处理,违规输入输入验证例程是不允许通过。基本上确保金库故障时关闭。 |
设计:使用一种语言或编译器执行自动边界检查。 |
通过构建设计:基于编译器的金丝雀StackGuard等机制,ProPolice和Microsoft Visual Studio / GS标志。除非这提供了自动范围检查,它不是一个完整的解决方案。 |
操作:使用操作系统的预防功能。不是一个完整的解决方案。 |
设计:使用一个抽象库抽象危险的api。不是一个完整的解决方案。 |
例子,实例
发送的参数太长导致过滤器失败开放是过滤器的一个实例化失败的攻击。泰勒UUCP守护进程是为了消除敌意的参数才能被执行。如果参数不太长,然而,这个守护进程无法删除它们。这对攻击敞开了大门。 |
web应用程序使用一个过滤器过滤掉可能允许输入的字符从数据平面控制飞机当数据在SQL语句中使用(链接与SQL注入攻击这种攻击)。利用缓冲区溢出攻击者使筛选失败不安全地和污染数据允许未经过滤的输入到系统,随后导致SQL注入。 |
审计与缓冲区溢出截断和过滤器。有时非常大的交易可以用来摧毁一个日志文件或导致部分日志失败。在这种攻击中,日志处理代码可能会检查实时事务处理,但过大的交易导致某种逻辑分支或异常困。换句话说,事务仍在执行,但日志或过滤机制仍然失败。这有两个结果,第一个是,您可以运行没有记录的事务,以任何方式(或者日志条目完全破坏)。第二个结果是你会滑倒的通过一个有源滤波器,否则将停止你的攻击。 |
引用
[REF-1] g·霍格伦德和g·麦格劳。“利用软件:如何打破代码”。addison - wesley。2004 - 02。 |
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-01-09
(版本2.9) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
|