bash破壳漏洞分析(二)

本文详细介绍了Bash破壳漏洞,分析了漏洞的定义、影响及数据包特征。通过环境变量的特殊构造,该漏洞可能导致远程代码执行。文章通过实例展示了如何构造探测数据包,并讨论了漏洞的影响,包括SSH、Apache CGI和DHCP客户端等场景。
摘要由CSDN通过智能技术生成

1. Bash简介

1.1 定义

   Bash(GNU Bourne-Again Shell)是许多Linux发行版的默认Shell。

1.2 概述

   目前的Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以“() {”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。
   从阐述的漏洞原理可知,漏洞的根本原因存在于Bash的ENV命令实现上,因此漏洞本身是不能够直接导致远程代码执行的。如果达到远程代码执行的目的,必须要借助第三方服务程序作为媒介才能够实现,第三方服务程序也必须要满足众多条件才可以充当此媒介的角色。目前自己已验证第三方服务程序apache2便可充当此媒介,其CGI组件满足远程访问并调用Bash的ENV命令进行访问数据解析功能。具体如何实现,参见下面的原理图:CVE-2014-6271漏洞实现远程代码执行原理图。

2. 数据包分析

   Bash远程代码执行漏洞主要是以“() {”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。所以在数据包的payload构造时我们需要构造一个以“() {”开头的环境变量以及一段可执行的shell脚本。通过python将请求数据发送至服务器,Apache的cgi组件远程访问并调用Bash的ENV命令进行访问数据解析功能,执行payload脚本。

2.1 探测数据包

   具体流程如下:

  • 在含有破壳漏洞的bash版本的虚拟机(Ubuntu12.04)中对Apac
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
zsh的优点: 1. 更强大的自动完成功能:zsh具有更高级的自动完成功能,可以根据历史记录和上下文提供更准确的建议。 2. 更灵活的配置选项:zsh提供了丰富的配置选项,可以通过定制配置文件来实现个性化设置。 3. 更好的拼写纠正:zsh可以自动纠正输入命令中的拼写错误,减少用户输入错误的可能性。 4. 更强大的模式匹配:zsh支持更复杂的模式匹配语法,可以更灵活地进行文件和目录操作。 5. 更好的历史命令管理:zsh提供了更多的历史命令操作和搜索功能,方便用户查找和重复执行过去的命令。 bash的优点: 1. 广泛使用:bash是默认的shell程序,几乎所有的Linux和Unix系统都支持并预装了bash。这使得大多数脚本和教程都是基于bash编写的。 2. 更好的兼容性:由于bash的广泛使用,它对于其他程序和脚本的兼容性较好,可以更方便地与其他工具进行集成。 3. 速度较快:尽管差异不大,但bash的执行速度相对较快。 zsh的缺点: 1. 学习曲线较陡峭:相对于bash,zsh的语法和配置选项较为复杂,需要一定的学习和适应时间。 2. 安装和配置麻烦:由于zsh并非默认安装,需要手动安装并配置才能使用。 bash的缺点: 1. 自动完成和拼写纠正功能较弱:相对于zsh,bash的自动完成和拼写纠正功能相对较弱。 2. 配置选项有限:相比zsh,bash的配置选项相对较少,个性化定制程度较低。 总体而言,zsh在功能和灵活性方面更为出色,但对于一些简单的任务和兼容性要求不高的场景,bash仍然是一个可靠且广泛使用的选择。选择使用哪种shell程序应根据个人需求和偏好来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值