我是否需要担心在 Windows 上使用 Shellshock 的 Git Bash?

我是否需要担心在 Windows 上使用 Shellshock 的 Git Bash?

我在 Windows 8.1 机器上使用 Git Bash。

我需要担心吗Shellshock

答案1

自己测试一下很简单。

CVE-2014-6271

CVE-2014-6271 是最初的 shellshock 漏洞。要查看您是否受此漏洞影响,请在 bash 命令提示符下运行此代码:

env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"

如果输出是:

Bash Test

那你就没问题了。另一方面,如果你看到:

Bash is vulnerable!
Bash Test

那么你的bash电脑就很脆弱。

CVE-2014-7169

有一个较新的相关漏洞。要测试这一点,请运行以下代码:

env X='() { (a)=>\' sh -c "echo date"; cat echo

如果你看到以下输出:

date
cat: echo: No such file or directory

那你就没事了。

所有版本的 bash 都存在漏洞,直到 4.3 版(即当前版本)。由于补丁不断更新,更新您的版本可能是个好主意。

谁是脆弱群体?

根据 Qualys偏僻的在下列情况下可能会利用 shellshock:

  • 如果 CGI 脚本是用 bash 编写的,或者生成子 shell,则使用 mod_cgi 或 mod_cgid 的 Apache 服务器会受到影响。C 中的 system/popen、Python 中的 os.system/os.popen、PHP 中的 system/exec(在 CGI 模式下运行时)和 Perl 中的 open/system(如果使用 shell,则取决于命令字符串)会隐式使用此类子 shell
  • ForceCommand 用于 sshd 配置,为远程用户提供有限的命令执行能力。此漏洞可用于绕过该功能并提供任意命令执行。一些 Git 和 Subversion 部署使用此类受限 shell。OpenSSH 的常规使用不受影响,因为用户已经拥有 shell 访问权限。
  • DHCP 客户端会调用 shell 脚本来配置系统,并使用从潜在恶意服务器获取的值。这将允许在 DHCP 客户端计算机上运行任意命令(通常以 root 身份运行)。
  • 各种守护进程和 SUID/特权程序可以执行由用户设置/影响的环境变量值的 shell 脚本,这将允许运行任意命令。
  • 任何其他挂接到 shell 或使用 bash 作为解释器运行 shell 脚本的应用程序。不导出变量的 shell 脚本不易受此问题影响,即使它们处理不受信任的内容并将其存储在(未导出的)shell 变量中并打开子 shell。

然而,要想在 Windows 上存在漏洞,就必须使用调用 的上述服务之一的版本bash

相关内容