シェルに渡るファイル名の危険性
シェルに渡るファイル名の危険性(中国語の原文)
这段 [语言] 代码调用 [命令行工具] 处理用户上传的文件,文件名来自上传时的原始名称。请指出在 [操作系统] 下哪些字符(空格、分号、反引号、$()、换行)能造成命令拼接,再给出三条改法:不经 shell 直接传参数数组、改用服务端生成的临时文件名、对 [工具] 的输入做格式白名单。按安全性排序并说明各自代价。
当サイトオリジナル
中国語の原文
使い方
换成数组传参而不是拼字符串,能消掉绝大多数命令注入。