命令执行
命令执行是应用把用户输入交给操作系统命令解释器处理,导致攻击者影响服务器执行的系统命令。
常见入口
图片处理、压缩解压、PDF 转换、网络诊断、备份恢复、Git 操作、系统管理面板、插件执行器等功能,都可能在后端调用系统命令。
| 危险信号 | 说明 |
|---|---|
| 参数进入命令行 | 文件名、地址、选项由用户控制 |
| 使用 Shell 拼接 | 字符串拼接后交给解释器 |
| 回显系统信息 | 返回命令输出、路径、用户、环境变量 |
| 权限过高 | Web 进程拥有过多系统权限 |
风险影响
命令执行的影响通常很高,可能读取服务器文件、控制业务数据、横向访问内网、植入持久化任务,甚至完全接管服务器。它往往由一个“小功能”引出,比如在线 ping、图片裁剪或文档预览。
防护要点
优先使用语言内置库完成任务,避免调用 Shell。必须调用外部程序时,使用参数数组而不是字符串拼接,对可选参数做白名单,并用低权限用户、容器隔离、超时限制和审计日志降低影响。