宝塔WAF 0day漏洞,可直接获取Root权限

admin 2024年2月18日01:46:48评论38 views字数 733阅读2分26秒阅读模式

最近开源社区好像特别流行 WAF,到处都能看到宝塔云 WAF、雷池 WAF 社区版、南墙 WAF 的各种宣传。

我也是宝塔面板的四五年的老用户了,几个月前看到宝塔出了独立的 WAF 就迅速给我的小站上了一套,结果没几天发现服务器被人放了挖矿木马。

这段时间除了安装 WAF,服务器我基本没动过,我第一反应是不是宝塔被黑了,不过我之前用了好几年的宝塔面板,好像也没啥问题,抱着试一试的态度,把宝塔扔进了 IDA,果然找到了一个 RCE,可以通过宝塔 WAF 直接拿到 root 权限,漏洞细节如下:

第一步:打开宝塔 WAF 以后,随便创建一个防护网站,这个很简单,不赘述。

第二步:进入 "网站加速" 功能,打开刚刚创建的网站的加速状态,如图:

宝塔WAF 0day漏洞,可直接获取Root权限

第三步:点击 "配置缓存",如图:

宝塔WAF 0day漏洞,可直接获取Root权限

第四步:点击 "清除所有缓存",如图:

宝塔WAF 0day漏洞,可直接获取Root权限

漏洞就出在这个地方,注意了,在刚刚点击 "清除所有缓存" 时,看到浏览器发了两个包出去,如图:

宝塔WAF 0day漏洞,可直接获取Root权限

第一个包请求了一个叫 "clear_cache"API,其中包含了一个叫 "site_id" 的参数,如图:

宝塔WAF 0day漏洞,可直接获取Root权限

这个参数没做校验直接带入了系统命令之中,参考 IDA

宝塔WAF 0day漏洞,可直接获取Root权限

宝塔WAF 0day漏洞,可直接获取Root权限

第五步,尝试修改 "site_id" 参数进行命令注入,加一个分号以后就可以随便写 bash 命令了,这里我写了一个 "touch /tmp/hack"

宝塔WAF 0day漏洞,可直接获取Root权限

请求提交以后看看服务器,/tmp/hack 文件果然被创建成功,如图:

宝塔WAF 0day漏洞,可直接获取Root权限

至此漏洞利用完成,touch /tmp/hack 仅作为演示,实际可以通过宝塔 WAF 拿到 root 权限,进而控制整个服务器。

截至发文时间,最新版测试已经修复!

本文作者:爱的主打歌原文地址:https://www.freebuf.com/vuls/390723.html

原文始发于微信公众号(刨洞安全团队):宝塔WAF 0day漏洞,可直接获取Root权限

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月18日01:46:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   宝塔WAF 0day漏洞,可直接获取Root权限http://cn-sec.com/archives/2500222.html

发表评论

匿名网友 填写信息