器库 ← 返回提示词库

AI / 编程与调试

拼进命令行的文件名

调 ffmpeg、ImageMagick 时把用户文件名塞进命令,等于开门

这段 [语言] 代码调用 [命令行工具] 处理用户上传的文件,文件名来自上传时的原始名称。请指出在 [操作系统] 下哪些字符(空格、分号、反引号、$()、换行)能造成命令拼接,再给出三条改法:不经 shell 直接传参数数组、改用服务端生成的临时文件名、对 [工具] 的输入做格式白名单。按安全性排序并说明各自代价。
本站原创

中文原文

使用建议

换成数组传参而不是拼字符串,能消掉绝大多数命令注入。

同方向的其他提示词