### shell解析行为影响参数注入点

- 在一些现代语言的启动子进程的API中，默认不启用Shell字符解析，这导致即便某个参数存在恶意拼接也无法实现注入，如：go中的 `os.Exec`、python中的 `subprocess.run` 等；除非手动启用了shell，如通过 `bash -c` 执行拼接参数、指定 `shell=True` 等
- 还有一些函数默认进行Shell解析，如 `os.system`

因此在分析时需要仔细区分这些安全情况

### 部分安全校验方式

以下列举评估为安全的几个校验方式，未列举的方案需要自行评估安全性

- 严格字符白名单，不允许任何Shell特殊字符
  - 绕过: 一般认为无法绕过
- 严格内容白名单，仅允许输入枚举的特定内容
  - 绕过: 一般认为无法绕过
