相关疑难解决方法(0)

什么 env x='() { :;}; 命令' bash 做,为什么不安全?

bash 中明显存在漏洞(CVE-2014-6271):Bash 特制环境变量代码注入攻击

我试图弄清楚发生了什么,但我不完全确定我理解它。如何echo在单引号中执行?

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
vulnerable
this is a test
Run Code Online (Sandbox Code Playgroud)

编辑 1:打补丁的系统如下所示:

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test
Run Code Online (Sandbox Code Playgroud)

编辑 2:有一个相关的漏洞/补丁:CVE-2014-7169,它使用了一个稍微不同的测试:

$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c …
Run Code Online (Sandbox Code Playgroud)

bash vulnerability shellshock

246
推荐指数
5
解决办法
11万
查看次数

shellshock (CVE-2014-6271/7169) 错误是什么时候引入的,完全修复它的补丁是什么?

关于该错误的一些上下文:CVE-2014-6271

Bash 不仅支持将 shell 变量导出,还支持将 shell 函数导出到其他 bash 实例,通过进程环境到(间接)子进程。当前的 bash 版本使用由函数名称命名的环境变量,以及变量值中以“() {”开头的函数定义,以通过环境传播函数定义。该漏洞的出现是因为bash在处理函数定义后没有停止;它会按照函数定义继续解析和执行 shell 命令。例如,环境变量设置

  VAR=() { ignored; }; /bin/id
Run Code Online (Sandbox Code Playgroud)

将环境导入 bash 进程时执行 /bin/id 。

资料来源:http : //seclists.org/oss-sec/2014/q3/650

该错误是什么时候引入的,完全修复它的补丁是什么?(参见CVE-2014-7169

除了 CVE(最初)(3.{0..2} 和 4.{0..3})中提到的易受攻击版本之外,还有哪些易受攻击的版本?

有问题的源代码是否在其他项目中重用?

需要额外的信息。


相关:什么是 env x='() { :;}; 命令' bash 做,为什么不安全?

security bash shellshock

122
推荐指数
2
解决办法
2万
查看次数

VARIABLE=() { 函数定义} 如何在 bash 中工作

警告 - 这个问题是关于漏洞之前的 Bash ,因此它被改变了。


我在我的 bash ENV 中看到过这样的事情:

module=() {  eval `/usr/bin/modulecmd bash $*` }
Run Code Online (Sandbox Code Playgroud)

这个构造是如何工作的?这叫什么?

我不是在问 modulecmd,我是在问整个结构。

bash function

7
推荐指数
1
解决办法
4684
查看次数

标签 统计

bash ×3

shellshock ×2

function ×1

security ×1

vulnerability ×1