gpt4 book ai didi

bash - 可以在此代码中使用 eval 完成代码注入(inject)吗?

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

这是我第一次使用 bash,我知道使用 eval 有一些风险。您可以对此进行代码注入(inject)吗?例如,我想运行 ls 命令并查看文件。

#!/bin/bash
echo "[*] Please enter the name:"
echo -n "> "
read NAME
echo "[*] Please enter the value:"
echo -n "> "
read VALUE
declare CONFIG_$NAME=$VALUE
for VARIABLE in $(compgen -v CONFIG_)
do
echo "- $VARIABLE: $(eval echo \$$VARIABLE)"
done

最佳答案

我相信 eval 的这种特殊用法是安全的,因为它只对有效的标识符进行操作,或者需要对执行进行一定程度的控制,这使得利用本身没有实际意义。

作为攻击者,我会忽略 eval 并改用其他入口点之一,例如

$ ./myscript
[*] Please enter the name:
> [`date>&2`]
[*] Please enter the value:
> foo
Thu 05 Nov 2020 04:00:37 PM PST
- CONFIG_: foo

关于bash - 可以在此代码中使用 eval 完成代码注入(inject)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64705997/

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