【墨者学院】:Bash漏洞分析溯源

0x00.题目描述:

背景介绍

安全工程师"墨者"对一单位业务系统进行授权测试,在测试过程中,发现存在bash命令执行漏洞。

实训目标

1、了解bash;

2、了解Bash远程命令执行漏洞形成原因;

3、了解Bash远程命令执行漏洞利用方法;

解题方向

找到poc.cgi文件

0x01.解题思路:

靶场环境:

主界面

根据题目说明,在网上对Bash远程命令执行漏洞进行了一番学习。

参考链接,讲解的非常清楚:

freebuf:https://www.freebuf.com/vuls/44994.html

Seebug:https://www.seebug.org/vuldb/ssvid-88877

根据题目提示,首先找到poc.cgi文件,在网上可以找到常见的目录为/www/html/cgi-bin/poc.cgi。

poc.cgi文件

用bp拦截下页面请求,根据漏洞利用exp可知,在user-agent或者connection处插入:() { :;}; echo; /bin/ls /。

即可远程执行命令,看到根目录下有key.txt文件,查看一下即可。

0x02.总结:

1.bash漏洞利用的版本号为4.3或更早的版本。产生漏洞的原因是在bash解析shell环境变量时,如果构造了特殊的值,比如说:(){。BASH处理这样的“函数环境变量”的时候,并没有以函数结尾“}”为结束,而是一直执行其后的shell命令。

2.cgi脚本就是用来执行bash脚本的,所以一定要找到一个cgi文本。

3.环境变量可以是user-agent或者connection,也可以直接用curl来创建一个环境变量。关于使用curl工具,以及反弹一个bash shell 的方法,在这个链接中有具体例子:https://blog.csdn.net/qq_42357070/article/details/83000415

4.上面那篇freebuf文章有具体如何批量Google,如何批量get的方法。另外一篇知道创宇的文章,有具体使用zoomeye来找有bash漏洞的方法。

你可能感兴趣的:(【墨者学院】:Bash漏洞分析溯源)