A-A+

Linux Bash漏洞验证以及修复方式

2014年10月11日 操作系统 暂无评论 阅读 418 次

一. 漏洞简介

这个漏洞产生于Shell在处理函数定义时,执行了函数体之后的命令。利用漏洞可进行构造特殊“变量=函数”的方式绕开系统本身环境变量执行远程攻击。

二. 漏洞验证方式:

三. 涉及操作系统

CentOS系列、Ubuntu系列、Debian系列

四. 涉及业务场景

1、OpenSSH sshd使用了ForceCommand特性

ForceCommand特性用来给远程用户提供受限的命令执行能力,因此使用了此特性的如git、subversion等都会受影响。

2、Apache HTTP Server使用了modcgi和mod_cgid模块

在Apache Server启用了modcgi和mod_cgid模块时,只要CGI脚本是由bash编写,或者使用了派生的subshell都会受影响。能够产生这样的subshell的包括:

C语言的system/popen,Python的os.system/os.popen,PHP的system/exec,Perl的open/system。

五. 漏洞修复方式:

1. Ubuntu 操作系统更新bash:

2. Centos 操作系统更新bash:

3. Novell suse 操作系统更新bash:

zypper sa Suse源地址#找到suse官方网站最新源站加入到suse源中

zypper in bash           #安装bash新版本

六. 验证漏洞:

存在漏洞:

[root@localhost ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

Vulnerable                #“(){ :;};”构造一个空的函数结尾加入任何

this is a test              #一段代码将会被执行

[root@localhost ~]##表示存在漏洞

不存在漏洞:

蜗牛的梦想
Copyright © Linux系统运维联盟 保留所有权利.   Theme  Ality 京公网安备11011402000199号 京ICP备14047887号

用户登录