宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

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

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

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

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

宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限
宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

宝塔 WAF 最新版 RCE 0Day 漏洞,可直接获取 root 权限

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

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容