LINUX漏洞复现篇之ShellShock漏洞

爱被打了一巴掌 2023-09-24 15:13 163阅读 0赞

简介

ShellShock漏洞, 中文称为”破壳漏洞”, 是Unix Shell中的安全漏洞

在一些网络服务器的部署中, 使用bash来处理某些请求, 允许攻击者通过低版本的bash执行任意Shell命令

此漏洞在调用BashShell之前使用payload创建环境变量, 这些环境变量包含Shell代码, 在Shell被调用后代码会被执行

漏洞原因

bash使用的环境变量是通过函数名称来调用的,以”(){“开头通过环境变量来定义,而在处理这样的恶意的函数环境变量时,并没有以函数结尾 “}” 为结束,而是执行其后的恶意shell命令

漏洞范围

  • bash版本<=4.3

环境搭建

Vulhub官方文档: https://vulhub.org/\#/environments/bash/CVE-2014-6271/

进入vulhub的shellshock目录: cd vulhub/bash/shellshock, 执行如下命令

  1. docker compose build
  2. docker compose up -d

6f4e53e8f92e754d8ca75143423efeb7.png

随后访问http://192.168.47.131:8080, 若出现如下图所示页面, 表示靶场搭建成功

1

漏洞利用

该漏洞靶场有两个页面, 分别是http://192.168.47.131:8080/victim.cgi和http://192.168.47.131:8080/safe.cgi, 其中victim.cgi是bash4.3版本生成的页面, 而safe.cgi是最新版bash生成的页面

访问http://192.168.47.131:8080/victim.cgi, 使用burpsuite抓包修改User-agent字段的值为() { :;};echo;/usr/bin/whoami, 页面回显命令执行结果

payload还可以填写在其他请求头字段上, 不是只能填写在User-agent字段

1

而在最新版本Bash的safe.cgi页面中, 该漏洞已经无法利用了

1

1

安全防护

  • 禁用CGI, 但可能会导致Web服务出现问题
  • 完善权限管理机制,在设置环境变量的之前先做好检测,确保环境变量设置语句里面不会有一些越权的行为

发表评论

表情:
评论列表 (有 0 条评论,163人围观)

还没有评论,来说两句吧...

相关阅读

    相关 fastjson 漏洞

    可能从fastjson“盘古开天地”开始讲,因为我对序列化 反序列化还有那些组件非常不熟悉(谁不搞开发会对这些熟悉)也算复习一下java知识吧,之前好像我自己大二学习java序

    相关 XSS漏洞

    XSS漏洞复现 实验环境DVWA > XSS(cross site script) 跨站脚本。属于代码执行的一种,这里执行的是前端代码,一般是javascript代码。