嗨,我对网络安全很陌生,担心可能的shell/命令注入风险。我想知道只在我的nodejs后端运行命令行脚本并让web主机运行它是否安全
据我所知,运行它是安全的,因为后端无法从网站及其前端访问。
据我所知,运行它是安全的,因为后端无法从网站及其前端访问。
这基本上是正确的,但我会将其改写为:
只要传递给shell脚本的参数是硬编码的或服务器生成的值,就可以安全地从web服务器运行shell脚本。
Shell注入发生在获取来自web用户的字符串并将其作为参数传递给exec调用时。可以安全地做到这一点,但您需要小心地对输入进行消毒或转义,以使其命令行安全,但这有点棘手,很难正确地做到,因为";危险人物";在bash与zsh与powershell等中,你需要净化/逃离的内容是不同的。