【漏洞】命令执行漏洞
前言
任意代码执行(简称ACE)是指攻击者能够讓目标電腦或目标进程中执行任意命令或代码。(维基百科)
漏洞原理
- 代码中包含可以执行Shell命令的功能,且可以被打断
常见业务
- 公共Ping测试
漏洞利用
- 命令行中可以拼接其他命令的关键字
打断符号,用于末尾拼接自定义命令
;(Linux Shell、Windows PowerShell)、&(Windows CMD):无论前序命令是否执行成功,都会执行后续命令|:管道符,将前序命令的输出作为后续命令的输入&&:逻辑与,前序命令执行成功才会继续执行后续命令||:逻辑或,前序命令执行失败才会继续执行后续命令
1 | 127.0.0.1 | 其他敏感命令 |
如果代码中拦截了关键字
通过偶数个单引号绕过
'原本用于定义字符串
1 | whoa'm'i |
通过斜杠绕过
\原本用于分隔多行命令
1 | whoam\i |