昨天收到阿里云的短信通知,让我修复一个漏洞,因此特意在知乎查了一下这个漏洞的情况,一下内容来自知乎,作者吴昊。

(希望 SF 也已经修复了此漏洞)


利用这个漏洞,需要两个条件:

  1. 服务器收到请求后,会执行bash
  2. 执行bash的时候,会将UserAgent等设置成环境变量

同时满足这两点的,一般是使用CGI的服务器,所以受到影响的服务器份额(我语文不好)不是很大。
对它进行一下简单的说明:

下面是乌云上的测试脚本:

$ curl -A ‘() { :; }; /bin/cat /etc/passwd > dumped_file’ http://192.168.0.1/poc.cgi

poc.cgi 是一个开头为 #! /bin/bash 的cgi脚本

在服务器端会发生的事情:

  1. 收到HTTP请求,此请求带有Head: “User-Agent: () { :; }; /bin/cat /etc/passwd >
    dumped_file”

  2. 服务器将User-Agent设置为环境变量,并执行bash

  3. bash由于解析漏洞,执行了如下脚本

    $ /bin/cat /etc/passwd > dumped_file

由于解析漏洞使得环境变量被运行的原理如下(图片来源见篇尾):

大家可以用自己的bash运行下面的代码尝试:

env User-Agent='() { :;}; echo hehe'  bash -c "echo test"
hehe

Linux(大)部分发行版都已经更新了bash,这个命令应该已经没用了,不过OS X的用户还是可以试一下的,Apple没有发布新的安全更新(Cook: 你们一定不会用它当服务器的)

PS:把echo hehe换成rm -rf ~效果更佳(误)。

现在的情况:

因为我只有Debian的环境,所以我只能说上面的漏洞在Debian源更新的bash已经解决了。
//就当它已经解决了吧

但是不小心又看到了下面的漏洞

$ env User-Agent='() {(a)=>\' bash -c 'output date'; cat output

// 从小bash没学好,一路兵败如山倒
// 我不会说我看不懂的

试了一下,确实会输出执行的date,但是原理是?

先看一下下面的图:

我试着在bash里输入:

$ >\
# 然后bash的显示
>
# 输入
> output date
# ls一下,发现当前目录有叫output的文件

嗯,应该是>符号把date的输出重定向到output里了

这个漏洞在Debian源里更新的bash还没有解决.....(9月26日上午3:50)

关于可以利用它做什么:

首先要反对一下目前排名第一的答案,有了bash不等于有一切,要看是什么权限运行的bash。

  1. cgi服务器进程一般不会是root权限

  2. 如果是的话,那个网站的网(yun)管(wei)就可以开了又开了。

  3. 所以拿到的很大几率是一个像"www_data"这样的用户权限

拿到www_data可以做什么呢?

可以看网站的配置文件,里面可能有数据库密码,然后就可以进数据库了。(真的这么简单么)
// 看起来还是有危险的,下面是解决方案

# debian/ubuntu 用户
$ sudo apt-get update
$ sudo apt-get install bash
# centos 用户
$ sudo yum update bash
# osx 用户
# 等Apple更新吧
# windows 用户
# 别凑热闹了亲

// 这里是一段结束语
// 这个漏洞我觉得是cgi服务器的问题(误),把用户的输入放到env里真心大丈夫?

Update:

  • Debian源里的bash已经修复第二个漏洞

  • OS X修复方法参考 security - How do I recompile Bash to avoid Shellshock
    (the remote exploit CVE-2014-6271 and CVE-2014-7169)?

图片截屏自:

CVE-2014-6271 : Remote code execution through bash : netsec

参考链接:

  • CVE-2014-6271 -- WooYun(白帽子技术社区) -- 网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地又一个有意思的地方

  • CVE-2014-6271: Bash lets you do bad things. (Shellshock)

Bash 漏洞是什么级别的漏洞,有什么危害,具体如何修复?相关推荐

  1. 9 月 19 日,腾讯云安全中心监测到  Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615

    9 月 19 日,腾讯云安全中心监测到  Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616).远程代码执行漏洞(CVE-2017-12615 ...

  2. 宿主机进程挂载到容器内_迄今为止最严重的容器逃逸漏洞:Docker cp命令漏洞分析(CVE201914271)...

    摘要 在过去几年中,我们在各种容器平台(包括Docker.Podman和Kubernetes)中发现了copy(cp)命令中存在多个漏洞.其中,迄今为止最严重的的一个漏洞是在今年7月被发现和披露的.然 ...

  3. LINUX漏洞复现篇之ShellShock漏洞

    简介 ShellShock漏洞, 中文称为"破壳漏洞", 是Unix Shell中的安全漏洞 在一些网络服务器的部署中, 使用bash来处理某些请求, 允许攻击者通过低版本的bas ...

  4. 文件上传漏洞、WebShell、防御及绕过利用、Web容器解析漏洞、编辑器上传漏洞

    文章目录 文件上传漏洞 漏洞概述 漏洞成因 漏洞危害 WebShell 大马 小马 GetShell 漏洞利用的条件 PUT方法上传文件 漏洞的防御.绕过和利用 黑白名单策略 安装upload-lab ...

  5. [漏洞分析] CVE-2022-0492 容器逃逸漏洞分析

    CVE-2022-0492 容器逃逸分析 文章目录 CVE-2022-0492 容器逃逸分析 漏洞简介 环境搭建 漏洞原理与相关知识 漏洞发生点 cgroup 简介 cgroup 使用 release ...

  6. web服务器/中间件漏洞系列2:weblogic漏洞汇总

    前言: 漏洞环境使用vulhub docker一键搭建,利用工具包括burp suite,kali等. weblogic简介: ​ WebLogic是美国Oracle公司出品的一个applicatio ...

  7. 漏洞管理失败?企业漏洞管理面临的三大困境

    这世上有三样东西是无法掩盖的,漏洞.贫穷和爱,想要隐瞒却欲盖弥彰.漏洞管理对网络安全至关重要,每一次重大安全事件的背后,都有一个甚至多个漏洞的影子. 随着现代网络的发展,企业内网正在被数量倍增的漏洞所 ...

  8. 框架/组件漏洞系列1:struts2漏洞汇总

    前言: 本篇文章中复现的漏洞不是特别全面,但是挑选了最近两年的漏洞进行复现,旨在对漏洞进行有用复现,毕竟一些老漏洞已经基本不存在了. 一.Struts简介 1.简介 基本介绍: Struts是Apac ...

  9. 漏洞复现 - - - 未授权访问漏洞Redis

    目录 一,未授权访问漏洞概述 二,常见的未授权访问漏洞 Redis历史漏洞 三,Redis未授权访问 漏洞信息 Redis 简介 四,环境搭建 漏洞环境搭建 五,漏洞利用方法 实验环境 方法一 ​编辑 ...

最新文章

  1. 第三篇 (.net socket 与 android )
  2. 电脑安装python为什么不能用-python安装后不能运行怎么办
  3. 干货 | 金融级消息队列的演进 — 蚂蚁金服的实践之路
  4. [css] 说下你对background-size的理解,它有什么运用场景?
  5. leetcode1290. 二进制链表转整数 刷新认知,最简单算法题
  6. Nodejs入门[在互联网上非常经常,非常疯狂的一个转载]
  7. android日期选择区间控件_Android日期时间选择器实现以及自定义大小
  8. linux之sshpass命令
  9. 开源 免费 java CMS - FreeCMS1.5-数据对象-info
  10. 《web课程设计》期末网页制作 基于HTML+CSS+JavaScript制作公司官网页面精美
  11. Mysql系统参数查询和设置
  12. Audacity分析浊音、清音、爆破音特点
  13. Java面试宝典之:基础篇
  14. 使用Java对书籍照片进行字符分割
  15. 单键模式_购买单键或更换整个键盘是否更好?
  16. FSK,PSK,ASK,BPSK调制
  17. 2023新版PMP考试有哪些变化?
  18. 安徽宿松2021高考成绩查询,2021安庆高考成绩查询入口
  19. vs2022报错E1696无法打开源文件
  20. HDU2521 求因数个数

热门文章

  1. host_network_interfaces_slow_mode_thresholds
  2. Dell服务器HDMI转接没显示,戴尔电脑为什么用hdmi线连接电视,却显示无信号
  3. Java操作Elasticsearch的所有方法
  4. 微信聊天内容可以被监听吗
  5. 在C++中使用SCIP求解器
  6. photoshop cs6 简体中文正式版下载
  7. 阿联酋的20by2020计划为柬埔寨村庄数千居民带来挽救生命的水资源解决方案
  8. OPhone动态壁纸探究
  9. 比质子、中子小的粒子都有什么
  10. 视频面试前这些准备工作,你做对了吗?