描述
这种类型的攻击利用程序的漏洞,允许攻击者的命令被连接到一个合法的命令的目的指向其他资源,比如文件系统或数据库。系统使用一个过滤器或denylist输入验证,而不是allowlist验证是容易受到攻击者他预测分隔符分隔符(或组合)没有出现在过滤或denylist。与其他注入攻击,攻击者使用命令分隔符载荷作为入口点隧道通过应用程序和激活附加攻击SQL查询,shell命令,网络扫描等等。
攻击的可能性
典型的严重性
执行流程
探索
评估目标运行时环境:在运行时环境不隐式的情况下,攻击者使连接到目标系统,并试图确定系统的运行时环境。了解环境选择正确的分隔符是至关重要的。
技术 |
端口映射可以使用网络软件(例如,nmap, nessus等) |
端口映射通过研究操作系统(sockstat netstat,等等)。 |
TCP / IP指纹 |
引发错误信息的错误消息 |
调查应用程序:攻击者调查目标应用程序,这可能是一个有效的和经过身份验证的用户
技术 |
搜索所有可用的链接网站 |
库存的所有应用程序输入 |
实验
尝试输入分隔符:攻击者系统地尝试不同的分隔符在已知输入、观察每次应用程序的响应。
技术 |
注入命令分隔符使用网络包注入工具(netcat、对手等)。 |
注入命令分隔符使用web测试框架(代理、TamperData、自定义程序,等等)。 |
直接在输入字段输入命令分隔符。 |
利用
使用恶意命令分隔符:攻击者使用的组合载荷和精心放置命令分隔符攻击软件。
先决条件
软件的输入验证或过滤不能检测和阻止存在额外的恶意的命令。 |
技能要求
(级别:中等) 攻击者必须确定注入向量,确定具体的命令,并有选择地收集输出,即从一个交互式会话。 |
所需资源
沟通能力与服务器同步或异步。可选地,能够捕获输出直接通过同步通信或其他方法如FTP。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
完整性
可用性 |
执行未经授权的命令 |
|
保密 |
读取数据 |
|
缓解措施
设计:对积极的规范执行allowlist验证命令长度,类型和参数。 |
设计:限制程序的特权,如果命令规避程序输入验证或过滤程序然后命令不特权帐户下运行 |
实现:对所有远程执行输入验证的内容。 |
实现:使用类型转换,如JDBC准备好的语句。 |
例子,实例
通过添加特殊字符,如分号或执行其他命令的目标过程中,攻击者能够执行各种恶意的命令在目标进程空间,利用目标的继承权限,对任何资源主机访问。可能性是巨大的包括注入攻击RDBMS (SQL注入),目录服务器(LDAP注入),XML文档(XPath和XQuery注入),和命令行shell。在许多注入攻击,结果转换回字符串并显示给客户端过程如web浏览器不释放任何安全警报,所以网络防火墙不记录任何不寻常的行为。 LDAP服务器关键资产,如用户身份,概要文件,密码,和组信息,用于进行身份验证和授权的用户。攻击者可以查询目录,执行自定义命令对目录服务器是使用在许多企业王国的钥匙。当用户、组织单位和其他目录对象查询通过建立直接从用户输入查询字符串没有验证,或其他转换,那么攻击者有能力使用任何LDAP命令来查询,过滤器,列表,并直接爬对LDAP服务器以同样的方式作为SQL注入给攻击者的能力在数据库上运行SQL命令。 |
引用
[REF-1] g·霍格伦德和g·麦格劳。“利用软件:如何打破代码”。addison - wesley。2004 - 02。 |
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2019-09-30
(版本3.2) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、措施之一 |
2021-06-24
(版本3.5) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
|