Shellshock(bashdoor)漏洞详细分析、复现

时间:2024-04-11 09:36:23

一、Shellshock的背景
Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。

二、通过试验和总结,Shellshock漏洞执行的条件
1、首先是Unix、linux等系统下的bash版本必须小于等于4.1版本;
2、可以猜出/cgi-bin/下目录的文件;例如:/cgi-bin/test-cgi、/cgi-bin/test.sh、/cgi-bin/test.py、/cgi-bin/test.perl等等;
3、/cgi-bin/下的脚本文件通过系统环境变量调用bash的环境;

三、漏洞复现:
1、以root权限安装4.1版本的bash

下载链接:bash4.1

下载:

wget http://labfile.oss.aliyuncs.com/bash-4.1.tar.gz
Shellshock(bashdoor)漏洞详细分析、复现
2、安装:
$ tar xf bash-4.1.tar.gz
$ cd bash-4.1
$ ./configure
$ make & make install
安装完成
查看bash版本号
$bash -version
Shellshock(bashdoor)漏洞详细分析、复现
3、通过测试代码检测查看是是否存在漏洞
测试代码:env x=’() { :;}; echo vulnerable’ bash -c "echo this is a test "
Shellshock(bashdoor)漏洞详细分析、复现

当出现第一行显示vulnerable, 说明该系统存在一个由bash程序缺陷导致的任意命令执行漏洞。
4、通过客户端request请求进行header头传参(用户想执行的代码),检验执行的效果: 注意:在header头的任何位置添加你想执行的脚本都可以,不一定非得是User-Agent
Shellshock(bashdoor)漏洞详细分析、复现Shellshock(bashdoor)漏洞详细分析、复现

5、通过nc监听本地端口,然后通过通过客户端request请求进行header头传参(反弹shell),查看shell的反弹情况
Shellshock(bashdoor)漏洞详细分析、复现