gpt4 book ai didi

bash - 我的 bash 脚本是否容易受到命令注入(inject)的攻击?

转载 作者:行者123 更新时间:2023-12-03 09:01:01 24 4
gpt4 key购买 nike

我正在对其他开发人员的 bash 脚本进行质量检查。它看起来像这样:

#!/bin/bash

TERM=`cat ./termName.txt` || exit $?
./other-script.sh $TERM

鉴于最后一行中没有引用 TERM 变量,感觉恶意用户可以通过操纵 termName.txt 的内容来利用命令注入(inject)>,但是我证明这一点的基本尝试未能注入(inject)任何可执行命令。

我的问题是:

  1. 此脚本是否容易受到命令注入(inject)攻击?
  2. 如果是,您能否提供如何执行任意命令的示例。如果不是,你能解释一下为什么它可以安全地避免命令注入(inject)吗?

最佳答案

该脚本不受命令注入(inject)的影响,因为 $TERM 的扩展仅经过分词和路径名扩展,然后结果按字面意思传递给 other-script.sh.但是,它应该被引用,以便other-script.sh接收TERM准确内容作为单个论证。

如果TERM的值为a b,那么other-script将接收两个参数, ab,而不是一个。使用 "$TERM" 传递精确值 a b

如果TERM的值为*,则参数的确切列表取决于当前工作目录的内容。使用 "$TERM" 传递精确值 *

关于bash - 我的 bash 脚本是否容易受到命令注入(inject)的攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50419760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com