Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 227

命令注入

审核人Cybersecurity entrepreneur & security researcher

命令注入 是什么?

命令注入用户输入未经过滤就传入操作系统 shell,导致应用程序执行攻击者提供命令的攻击。


命令注入(OS 命令注入)发生在应用程序将不可信输入拼接到系统命令并交由 shell 执行时。;、&、|、$() 或反引号等元字符允许攻击者追加额外命令,这些命令以应用进程的权限运行。其后果包括任意文件读写、横向移动、反向 shell,直至完整接管服务器。防御措施包括完全避开 shell、改用接受参数数组的语言 API、对可接受值进行白名单校验、使用经过验证的转义库、沙箱化、以最小权限用户运行服务,以及通过出站过滤限制被利用后的危害。

示例

  1. 01

    拼接主机名参数的 ping 工具允许通过 127.0.0.1; cat /etc/shadow 暴露密码哈希。

  2. 02

    图像处理接口调用 ImageMagick 时,精心构造的文件名触发攻击者命令执行。

常见问题

命令注入 是什么?

用户输入未经过滤就传入操作系统 shell,导致应用程序执行攻击者提供命令的攻击。 它属于网络安全的 攻击与威胁 分类。

命令注入 是什么意思?

用户输入未经过滤就传入操作系统 shell,导致应用程序执行攻击者提供命令的攻击。

如何防御 命令注入?

针对 命令注入 的防御通常结合技术控制与运营实践,详见上方完整定义。

命令注入 还有哪些其他名称?

常见的别称包括: OS 命令注入, Shell 注入。

相关术语

另见