capec - 67:字符串格式溢出在syslog () |
描述
这种攻击目标应用程序和软件使用syslog()函数缺乏自信。如果一个应用程序不会影响使用格式字符串参数调用syslog(),可以放置在用户输入格式字符串参数格式字符串注入攻击。对手可以注入恶意格式字符串的命令函数调用导致缓冲区溢出。有许多报道软件漏洞的根本原因是滥用syslog()函数。
攻击的可能性
典型的严重性
执行流程
探索
确定目标应用程序:敌人标识一个目标应用程序或程序执行缓冲区溢出。在这种攻击中,对手寻找使用syslog()不正确的应用程序。
实验
发现注入向量:对手识别注射向量提供过多的内容目标应用程序的缓冲区。为每个用户可控输入对手怀疑是容易受到格式字符串注入,试图注入格式化字符如% n, % s等。我们的目标是操纵字符串创建使用这些格式字符。
技术 |
注入探测载荷包含格式化字符(% s, % d % n,等等)通过输入参数。 |
工艺溢出内容:被注入的对手工艺品的内容。如果目的是简单地导致软件崩溃,内容只需要包含一个过度数量的随机数据。如果目的是利用执行任意代码的溢出,对手将工艺组不仅溢出目标缓冲区的内容,但在这样一种方式,覆盖返回地址被替换为一个对手的选择指向代码注入的对手。
技术 |
格式化字符%和% d有助于观察内存和试图打印内存地址。如果敌人有访问日志数据写入到他们可以观察这个输出和使用它来帮助工艺他们的攻击。 |
格式化字符% n是用于添加额外的数据到缓冲区。 |
利用
缓冲区溢出:使用注射向量,精心制作的对手供应程序格式字符串注入,导致一个缓冲区。
先决条件
使用Syslog功能不指定格式字符串参数,允许用户输入直接放置到函数调用格式字符串。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
完整性
可用性 |
执行未经授权的命令 |
|
可用性 |
不可靠的执行 |
|
保密
访问控制
授权 |
获得特权 |
|
完整性 |
修改数据 |
|
缓解措施
代码应该检查滥用Syslog的函数调用。可以使用手动或自动代码审查。评论家需要确保所有格式字符串函数通过一个静态字符串,不能由用户控制,适当的数量的参数总是发送到该函数。如果可能的话,不要使用格式化字符串% n运营商。下面的代码显示了一个正确的使用Syslog ():
syslog (LOG_ERR“% s”, cmdBuf); 下面的代码显示了一个脆弱的使用Syslog ():
syslog (LOG_ERR cmdBuf);
/ /缓冲cmdBuff将用户提供的数据。
|
例子,实例
格式字符串漏洞在TraceEvent函数ntop 2.1允许远程敌人之前执行任意代码,导致格式字符串被注入到syslog调用函数,通过(1)一个HTTP GET请求,(2)在HTTP身份验证用户名,或(3)在HTTP身份验证密码。参见:cve - 2002 - 0412 |
分类法映射
引用
[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客户端首页 |
更新的引用 |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Execution_Flow |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Taxonomy_Mappings |
2021-10-21
(版本3.6) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、Execution_Flow Related_Attack_Patterns先决条件 |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的措施之一 |
|