【漏洞】命令执行漏洞

前言

任意代码执行(简称ACE)是指攻击者能够讓目标電腦或目标进程中执行任意命令或代码。(维基百科

漏洞原理

  • 代码中包含可以执行Shell命令的功能,且可以被打断

常见业务

  • 公共Ping测试

漏洞利用

  • 命令行中可以拼接其他命令的关键字

打断符号,用于末尾拼接自定义命令

;(Linux Shell、Windows PowerShell)、&(Windows CMD):无论前序命令是否执行成功,都会执行后续命令
|:管道符,将前序命令的输出作为后续命令的输入
&&:逻辑与,前序命令执行成功才会继续执行后续命令
||:逻辑或,前序命令执行失败才会继续执行后续命令

1
127.0.0.1 | 其他敏感命令

如果代码中拦截了关键字

通过偶数个单引号绕过

  • '原本用于定义字符串
1
whoa'm'i

通过斜杠绕过

  • \原本用于分隔多行命令
1
whoam\i

完成

参考文献

哔哩哔哩——千锋教育网络安全学院