描述
这种攻击目标使用反斜杠的替代编码。敌人可以提供一个反斜杠作为主角,使解析器相信下一个字符是特别的。这叫做一个逃脱。通过使用技巧,对手试图利用不同的方法来编码相同的性格导致过滤问题,打开攻击途径。
攻击的可能性
典型的严重性
执行流程
探索
调查申请用户可控的输入:使用一个浏览器,一个自动化工具或通过检查应用程序,敌人记录所有应用程序的入口点。
技术 |
使用搜索工具跟踪和记录所有的链接和分析网页找到入口点。特别注意任何链接,包括参数的URL。 |
使用一个代理工具来记录所有用户输入入口点在手工遍历web应用程序的访问。 |
网站使用浏览器手动探索和分析它是如何构建的。许多浏览器的插件可以促进分析或自动发现。 |
手动检查应用程序找到入口点。 |
实验
探针的入口点来定位漏洞:对手使用入口点聚集在“探索”阶段作为目标列表和试图逃避多个不同的特殊字符使用反斜杠。
技术 |
转义特殊字符和反斜杠绕过输入验证。 |
尝试不同的编码的反斜杠和特殊字符,看看这绕过了输入验证 |
利用
操纵输入:一旦对手决定如何绕过过滤器,过滤掉特殊字符使用脱逃的削减,他们将操纵用户输入的方式不是由应用程序。
先决条件
应用程序接受反弹字符转义字符。 |
应用服务器是不完整的输入数据解码、过滤和验证。 |
技能要求
(等级:低) 对手可以天真地尝试反斜杠字符和发现目标主机使用转义字符。 |
(级别:中等) 主人的对手可能需要深入了解目标为了利用这个安全漏洞。敌人也可能使用自动化工具来探测这个漏洞。 |
指标
敌人可以使用fuzzer为了探究这个弱点。fuzzer应该生成可疑的网络活动明显的入侵检测系统。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 |
读取数据 |
|
可用性 |
资源消耗 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
保密
访问控制
授权 |
旁路保护机制 |
|
缓解措施
验证用户提供的数据不使用反斜杠字符转义恶意字符。 |
假设所有的输入是恶意的。创建一个定义所有有效allowlist输入软件系统根据需求规格说明书。输入不匹配allowlist不应被允许进入系统。 |
意识到威胁的替代数据编码的方法。 |
正则表达式可以用来过滤反斜杠。确保你解码之前过滤和验证不可信的输入数据。 |
在遍历路径的情况下,使用最小特权原则在确定文件系统访问权限。不允许用户访问目录/文件,他们不应该访问。 |
任何应该进行安全检查后,数据被解码和验证为正确的数据格式。不重复解码过程,如果坏字符解码过程后,把数据当作可疑,验证过程失败。 |
避免做决定基于名称的资源(例如文件)如果这些资源能替代名称。 |
例子,实例
例如,字节对\ 0就会产生一个零字节(NULL)发送。另一个例子是\ t,有时转换为制表符。之间往往有一个等价编码反斜杠和削减逃回来。这意味着\ /结果在一个斜杠。一个正斜杠也导致一个斜杠。编码是这样的:
/产量/ \ /产量/ |
攻击利用了斜杠在slternate编码非常简单。如果你相信目标可能过滤削减,试图供应\ /,看看会发生什么。尝试包括示例命令字符串
慢性消耗病. . \ / . . \ / . . \ / . . \ / winnt 在许多情况下转换为
慢性消耗病. . / . . / . . / . . / winnt 调查这类问题,一个小的C程序,使用字符串输出例程可以是非常有用的。成为优秀的测试素材文件系统调用。简单的片段
生成的输出
/ \ ?。| 显然,反斜杠被忽略,因此我们有了大量的替代编码实验。鉴于我们之前的例子,我们可以对攻击进行扩展,以包括其他的可能性:
慢性消耗病. . \ \ ? \ \ ? \ / . . \ / . . \ / . . \ / winnt 慢性消耗病\。\ \ / \。\ \ / \。\ \ / \。\ \ / winnt 慢性消耗病. . \ | \ | \ | \ | \ / . . \ / . . \ / . . \ / winnt |
分类法映射
CAPEC映射ATT&CK技术利用一个继承模型简化和减少直接CAPEC / ATT&CK映射。继承的映射表示文本说明父CAPEC有相关ATT&CK映射。注意,ATT&CK企业框架不使用一个继承模型的一部分映射到CAPEC。
引用
[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客户端首页 |
更新的措施之一 |
2021-06-24
(版本3.5) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、Execution_Flow Skills_Required指标 |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
|