描述
敌人嵌入一个或多个null字节输入目标软件。这种攻击依赖于null-valued字节作为字符串结束符的使用在许多环境中。目标的目标是为某些组件软件停止处理输入当遇到零字节(s)。
攻击的可能性
典型的严重性
执行流程
探索
调查申请用户可控的输入:使用一个浏览器,一个自动化工具或通过检查应用程序,敌人记录所有应用程序的入口点。
技术 |
使用搜索工具跟踪和记录所有的链接和分析网页找到入口点。特别注意任何链接,包括参数的URL。 |
使用一个代理工具来记录所有用户输入入口点在手工遍历web应用程序的访问。 |
网站使用浏览器手动探索和分析它是如何构建的。许多浏览器的插件可以促进分析或自动发现。 |
手动检查应用程序找到入口点。 |
实验
探针的入口点来定位漏洞:对手使用入口点聚集在“探索”阶段作为目标列表和注入后缀零字节(s)观察应用程序如何处理他们作为输入。敌人正在寻找用户输入的地方放置在中间的一个字符串,和零字节会导致应用程序停止处理用户输入的字符串结束时。
利用
删除数据后零字节(s):确定后脆弱的入口点,对手的地方空字节(s),这样就删除数据后零字节(s)的方式是有益的。
技术 |
如果输入是一个目录的文件路径,添加一个null字节(s)在给定的输入来遍历目录。 |
先决条件
技能要求
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
完整性 |
修改数据 |
|
保密 |
读取数据 |
|
保密
访问控制
授权 |
获得特权 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
缓解措施
妥善处理提供的空字符的一部分用户输入之前做任何数据。 |
例子,实例
目录浏览 假设一个Web应用程序允许用户访问一组报告。报告目录的路径可能是类似的web /用户名/报告。如果用户名提供通过一个隐藏字段,敌人可以插入一个虚假的用户名等. . / . . / . . / . . / . . /窗口。如果对手需要删除后的字符串/报告,然后他们可以简单地插入足够的字符字符串被截断。或者敌人可能应用后缀NULL字符(% 00)来确定这是否终止的字符串。 不同形式的空考虑包括
路径% 00 路[0 x00] 路径(NULL字符的候补代表) <脚本> < /脚本> % 00 |
利用缓冲区溢位的弱点在ActiveX组件打包与Adobe Systems Inc .) Acrobat /阅读器允许远程对手执行任意代码。 的问题具体存在检索链接下面的形式:
获得/ any_existing_dir / any_existing_pdf。pdf % 00(长字符串)HTTP / 1.1 长字符串是一个恶意的长包含接受URI字符串字符。请求必须由一个web服务器,这样就要求在零字节(% 00),否则无效的文件指定名称和“文件未找到”页面将被归还。截断的示例web服务器所请求的URI包括Microsoft IIS和网景公司企业。尽管请求的URI是截断的目的定位文件的长字符串仍然是传递给Adobe ActiveX组件负责渲染页面。这反过来会引发缓冲区溢出在RTLHeapFree()允许敌人覆盖任意词在内存中。负责任的指示RTLHeapFree()所示:
0 x77f83ae5 MOV EAX, EDI + 8 0 x77f83ae8 MOV连成一片,(EDI + C) … 0 x77f83aed MOV连成一片,EAX 寄存器EDI包含一个指针指向一个用户提供的字符串。因此控制敌人连成一片和EAX寄存器用于显示MOV指令。 成功开发允许远程敌人利用任意词覆盖重定向的控制流,最终控制受影响的系统。代码执行的环境下会发生用户实例化Adobe Acrobat的脆弱的版本。 敌人不需要建立一个恶意网站开发可以通过添加恶意内容发生的任何嵌入式链接和引用Microsoft IIS web服务器或Netscape企业。点击直接恶意链接也不是必需的,因为它可能是嵌入在一个图像标记,一个IFRAME或交通量脚本。 成功的开发需要一个负载编写这样的某些领域输入URI是可以接受的。这包括初始注入指令以及某些覆盖地址。这就增加了成功开发的复杂性。虽然不是微不足道的,开发绝对是合理的(ref - 445]。 参见:cve - 2004 - 0629 |
考虑下面的PHP脚本:
不管美元= addslashes ($ _REQUEST['任何']); 包括(“/道路/ /程序/”。不管美元。“/ header.htm”); 恶意对手可能打开以下网址,披露的引导。ini文件:
http://localhost/phpscript.php?whatever=../../../../boot.ini%00 |
分类法映射
CAPEC映射ATT&CK技术利用一个继承模型简化和减少直接CAPEC / ATT&CK映射。继承的映射表示文本说明父CAPEC有相关ATT&CK映射。注意,ATT&CK企业框架不使用一个继承模型的一部分映射到CAPEC。
有关WASC分类法映射
与OWASP分类法映射
引用
[REF-1] g·霍格伦德和g·麦格劳。“利用软件:如何打破代码”。addison - wesley。2004 - 02。 |
|
|
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Taxonomy_Mappings |
2021-06-24
(版本3.5) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、Example_Instances Execution_Flow |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
|