最近开源社区好像特别流行 WAF
,到处都能看到宝塔云 WAF
、雷池 WAF
社区版、南墙 WAF
的各种宣传。
我也是宝塔面板的四五年的老用户了,几个月前看到宝塔出了独立的 WAF
就迅速给我的小站上了一套,结果没几天发现服务器被人放了挖矿木马。
这段时间除了安装 WAF
,服务器我基本没动过,我第一反应是不是宝塔被黑了,不过我之前用了好几年的宝塔面板,好像也没啥问题,抱着试一试的态度,把宝塔扔进了 IDA
,果然找到了一个 RCE
,可以通过宝塔 WAF
直接拿到 root
权限,漏洞细节如下:
第一步:打开宝塔 WAF
以后,随便创建一个防护网站,这个很简单,不赘述。
第二步:进入 "网站加速" 功能,打开刚刚创建的网站的加速状态,如图:
第三步:点击 "配置缓存",如图:
第四步:点击 "清除所有缓存",如图:
漏洞就出在这个地方,注意了,在刚刚点击 "清除所有缓存" 时,看到浏览器发了两个包出去,如图:
第一个包请求了一个叫 "clear_cache"
的 API
,其中包含了一个叫 "site_id"
的参数,如图:
这个参数没做校验直接带入了系统命令之中,参考 IDA
:
第五步,尝试修改 "site_id"
参数进行命令注入,加一个分号以后就可以随便写 bash
命令了,这里我写了一个 "touch /tmp/hack"
请求提交以后看看服务器,/tmp/hack
文件果然被创建成功,如图:
至此漏洞利用完成,touch /tmp/hack
仅作为演示,实际可以通过宝塔 WAF
拿到 root
权限,进而控制整个服务器。
截至发文时间,最新版测试已经修复!
本文作者:爱的主打歌
原文地址:https:
//www.freebuf.com/vuls/390723.html
原文始发于微信公众号(刨洞安全团队):宝塔WAF 0day漏洞,可直接获取Root权限
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论