漏洞简介

GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行Shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash Shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在Shell被调用后会被立即执行。

影响范围

由于Bash在各主流操作系统的广泛应用,此漏洞的影响范围包括但不限于大多数应用Bash的Unix、Linux、Mac OS X,而针对这些操作系统管理下的数据均存在高危威胁。

漏洞的利用方式会通过与Bash交互的多种应用展开,包括HTTP、OpenSSH、DHCP等

漏洞原理

该Bash使用的环境变量是通过函数名称来调用的,导致漏洞是以(){开头定义的环境变量在命令env中解析成函数后,bash执行并未退出,而是继续解析并执行shell命令。而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。

复现过程

首先进入vulhub环境,找到bash下的shellshock并启用

docker-compose up -d


进入环境127.0.0.1:8080
启动成功后检测本地的漏洞

发现存在后进入容器

docker exec -it dc62ea87cc21 bash

进入容器后使用payload:env x=‘() { :;}; echo shellshocker’ bash -c “echo tom”
tip:如果提示'('出现问题,可能是linux5.0后使用'('需要进行转译,可以采用加\或者

显示shellshocker表示存在漏洞
然后在shell中定义变量

开启新进程后发现$spiringbird变量并没有继承
所以我们直接将变量存到环境变量里
此处使用export命令

成功,接下来设置一个环境变量

成功执行,下面可以进一步尝试

创建的字符串变量被设置成环境变量后在子进程解释成了函数执行,成功读取/etc/passwd

靶场复现

进入环境后,该漏洞环境分为最新版bash生成的safe.cgi和易受shellshock攻击的victim.cgi
我们进入到victim.cgi页面
在User-Agent处提交指令
成功查看到/etc/passwd

Bash 破壳漏洞Shellshock (CVE-2014-6271)复现相关推荐

  1. 修复linux bash破壳漏洞,Linux系统下如何检测并修复bash中的破壳漏洞​​

    问题:我想要知道我的Linux服务器是否存在bash破壳漏洞,以及如何来保护我的Linux服务器不受破壳漏洞侵袭. 2014年9月24日,一位名叫斯特凡·沙泽拉的安全研究者发现了一个名为"破 ...

  2. 修复linux bash破壳漏洞,Linux下bash破壳漏洞检测及修复的方法

    如果Linux服务器存在bash破壳漏洞,将可能导致远程攻击者操作系统来执行任意命令,威胁等级较高,我想要知道我的Linux服务器是否存在bash破壳漏洞,以及如何来保护我的Linux服务器不受破壳漏 ...

  3. linux系统漏洞测试过程,Linux下bash破壳漏洞检测方法

    如果Linux服务器存在bash破壳漏洞,将可能导致远程攻击者操作系统来执行任意命令,威胁等级较高,那么我们要怎么知道Linux系统是否存在该漏洞,又该如何修复呢?下面随学习啦小编一起来了解下吧. 问 ...

  4. bash破壳漏洞分析(一)

    1. 简介    bash远程代码执行漏洞,该漏洞会影响目前主流的Linux和Mac OSX操作系统平台,包括但不限于Redhat,CentOS,Ubuntu,Debian,Fedora,Amaron ...

  5. linux 鬼精灵漏洞,鬼精灵Grinch:比Bash破壳(shellshock)更严重的Linux漏洞

    安全研究人员在Linux操作系统中发现了一个名为鬼精灵(Grinch)的漏洞,该漏洞存在于linux系统中,和Bash破壳(shellshock)漏洞一样可以在受害者机器上获得最高权限--Root. ...

  6. linux 破壳漏洞,Bash破壳漏洞

    "破壳"是一个严重漏洞的别名,在Red Hat.CentOS.Ubuntu.Fedora.Amazon Linux.OS X 10.10中均拥有存在CVE-2014-6271(即& ...

  7. bash破壳漏洞分析(二)

    1. Bash简介 1.1 定义    Bash(GNU Bourne-Again Shell)是许多Linux发行版的默认Shell. 1.2 概述    目前的Bash使用的环境变量是通过函数名称 ...

  8. 【web攻防】破壳漏洞【CVE-2014-6271】与心脏滴血漏洞 【CVE-2014-0160】 docker 复现 学习过程

    其实最近的确是想更新一些文章的,但一直在忙于挖洞和挖洞技巧学习,前者肯定不能发真实案例,后者学的太零碎太杂,自己也处于一个积累的过程,发一些边边角角的内容也没意思. 虽然相比以前的确有了一点进步,但我 ...

  9. ShellShock(破壳漏洞)的简单分析

    (如果有帮助,请点个赞:如果有错误,请指出:如果转载,请注明出处) 关于本文更详细的内容,欢迎关注我的个人网站<程序员网>  ->https://www.itmangoto.cn/ ...

最新文章

  1. vivo计算机的隐藏功能介绍,vivo手机有哪些隐藏功能?这6个功能实在太好用了,要悄悄用起来...
  2. myeclipse优化方案
  3. springsecurity的工作原理
  4. java break在switch_java中switch case语句需要加入break的原因解析
  5. Docker环境运行Vue项目
  6. hdu- 5015 233 Matrix
  7. 【Tools】Modbus Poll 9安装详解
  8. centos卸载内核_CentOS 中内核模块的加载和卸载
  9. xml02 XML编程(CRUD)增删查改
  10. 在android中ScrollView嵌套ScrollView解决方案
  11. php 三色排序,一个数组中只有0,1,2三种元素,要求对这样的数组进行排序,一个数组中只有0,1,2三种元素,要求对这样的数组进行排序,第2章 排序 | | 第17节 三色排序练习题...
  12. 九曲黄河万里沙,浪淘风簸自天涯 — 正则表达式
  13. 消息队列 RocketMQ原理和使用整理
  14. 中望CAD的引线标注格式怎么改_大神总结:CAD设计五个段位 你在哪个阶段?
  15. 计算机科学 期刊点评,COMPUTER JOURNAL
  16. mysql with,mysql+with
  17. Console密码恢复出厂设置
  18. win10无法唤醒睡眠之真头疼
  19. 创新思维对计算机专业的关系,创新思维复习题
  20. 【干货】关于电商售后(退货、退款、换货)的相关流程

热门文章

  1. Common Vector Operators(常见的向量操作)
  2. Linux中./configure文件配置详解
  3. 三角形外心坐标c语言,算法提高 12-1三角形   外心坐标
  4. 计算机专业转生物信息(bioinformatics)方向必看视频
  5. java websocket netty_用SpringBoot集成Netty开发一个基于WebSocket的聊天室
  6. 年薪50万+的90后程序员都经历了什么?
  7. 文本与文本处理(一)
  8. Failed to execute goal on project hello: Could not resolve dependencies for project com.hu:hello:jar
  9. (转)JPVideoPlayer 基于avplayer的音视频列表播放
  10. 南阳题目364-田忌赛马