我正在学习ShellShock漏洞,我想测试更早版本的Bash。
我从GNU网站下载了Bash4.2。提取内容之后,我根据GNU指南编译了它,如下所示:
bash ./configure
make完成后,我运行以下漏洞以查看bash是否易受攻击:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 但它没有打印“易受攻击”--这意味着它并不脆弱--我不明白为什么:
root@ubuntu:~/Desktop/bash-4.2# ./bash
root@ubuntu:~/Desktop/bash-4.2# echo $BASH_VERSION
4.2.0(1)-release
root@ubuntu:~/Desktop/bash-4.2# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test
root@ubuntu:~/Desktop/bash-4.2# 发布于 2020-12-02 10:32:52
使用./bash而不是bash;您当前的尝试最终会执行默认的system实例,希望这个实例不会受到攻击。
通常,当前目录不包含在PATH中,也不应该包含在其中,原因与此完全相同。
https://stackoverflow.com/questions/65105835
复制相似问题