即我可以在下一个最近的发行版中找到足够接近的软件包吗?还是比较复杂,从源码编译比较好?或者我可以从 debian 中获取它吗?
(这个问题至少是关于 Ubuntu 11.10 和 12.10 的;我敢打赌其他人会遇到这个问题,所以如果建议不同,具体取决于哪个生命周期结束的 Ubuntu,它可能有助于说明如何!)
PS“升级”不会被接受作为答案;-)我知道,但有时退役/升级/更换服务器需要时间,我想先修补bash。
我已经更新了我的系统的最新版本bash(Fedora的:bash-4.2.48-2.fc19.x86_64和CentOS: bash-4.1.2-15.el6_5.2.x86_64)
仅仅是更新足以避免漏洞利用还是我需要关闭所有终端、重新启动所有服务或重新启动系统?
我试图了解可能存在的安全问题CVE-2014-6271,我看到的所有链接都只提供了以下命令。
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Run Code Online (Sandbox Code Playgroud)
如果我得到的输出为
vulnerable
this is a test
Run Code Online (Sandbox Code Playgroud)
这意味着我的 bash shell 很脆弱。
但它与安全有什么关系呢?换句话说,会对我的系统造成什么损害?
我曾经能够做这样的事情:
X=123 cat <<EOF
X is $X
EOF
Run Code Online (Sandbox Code Playgroud)
甚至更简单:
X=123 echo $X
Run Code Online (Sandbox Code Playgroud)
安装 bash 修复程序后,第一个似乎仍然可以在 Mac OS X 上运行,但是它们似乎都不再适用于我在 AWS 中的 Ubuntu 14.04 实例。是什么让它echo或cat不再可以访问这些环境变量?更奇怪的是,当我将 env vars 传递给 NodeJS 应用程序时,我似乎没有任何问题:
cat <<EOF > test.js
console.log('X is ' + process.env.X);
EOF
X=123 node test.js
Run Code Online (Sandbox Code Playgroud)
这似乎也适用于 bash 脚本:
cat <<EOF > test.sh
echo X is \$X
EOF
chmod +x test.sh
X=123 ./test.sh
Run Code Online (Sandbox Code Playgroud) 我正在审查 shellshock 攻击,但不明白这段代码:
curl -v http://localhost/cgi-bin/shellshock.cgi -H "custom:() { ignored; }; echo Content-Type: text/html; echo ; /bin/cat /etc/passwd "
Run Code Online (Sandbox Code Playgroud)
我不明白的部分是在echo ;远程机器上实际执行的命令中在 /etc/passwd 上回显 Content-Type 和 /bin/cat 之间的功能。
echo ;这里的功能是什么?
谢谢。
我有一台运行 FreeBSD 10 的供个人使用的服务器,它没有安装 Bash,也从未安装过。但是,它带有自己的符合 POSIX 的外壳“sh”。我是否需要担心服务器上的 Shellshock 错误?
我尝试运行这个臭名昭著的 shell 脚本,但没有得到“脆弱”的回声,但我不知道这是否确保我是安全的:
env x='() { :;}; echo vulnerable' sh -c 'echo hello'
Run Code Online (Sandbox Code Playgroud)