1

bash -n如果假设您正在编写一个检查 bash 文件语法的 Web 服务,那么在任何用户输入上运行都会有任何安全问题吗?

4

1 回答 1

2

据我所知,-n应该可以按您的预期工作,但我仍然会保持谨慎:我不知道对使用bash -n语法检查不受信任的代码以及 C 库中bash或 C 库中的错误进行任何认真的检查,或者真的任何地方都可能在这里产生影响,这些影响可能以难以推理的方式被利用。

永远不要相信用户输入似乎总是很谨慎,像 bash 这样的大型代码库是隐藏错误的好地方。

这是我要做的:

  • 准备一个 chroot 监狱来运行一个静态链接的受限bash
  • 为目的准备一个非root用户
  • 编写一个脚本,从模板构建监狱,使用源文件 chroot,删除权限,关闭除 (1) 和 dups (2) 之外的所有 fd,然后最终运行bash -n您的程序。
于 2013-01-12T12:24:12.893 回答