最近一直在学习代码审计的相关课程,也在找一些通用的CMS在练习,刚好在安全群里认识了一位志同道合的道友,于是就一起研究学习,前期还是不怎么太会,所以也一直两个人相互传授经验和交流,不过还好经过不断的奋战和努力终于出来了第一个洞,以下是相关步骤详情,请各位大佬批评指正:
1、这个CMS是PHP采用路由方式开发,前期总是找不到类和函数的调用地方,找了两天才有所发掘,找到sys/apps/controller/admin/backups.php文件的下图语句存在漏洞;
2、当url中存在restore_save时,即可绕过管理员登陆验证,直接访问网站后台数据库管理界面;
3、可备份数据库所有文件,并且下载访问http://127.0.0.1/admin.php/backups?restore_save在备份和下载时需要post:table=mc_admin和get:?restore_save同时传参;
4、备份成功后,下载时由于本人学艺不精,无法破解加密过程,但是可以通过还原备份时的路径获取dir的值,从而下载数据库备份文件;