专栏首页离别歌 - 信息安全与代码审计一次与fineCMS的偶遇 - fineCMS getshell漏洞

一次与fineCMS的偶遇 - fineCMS getshell漏洞

一次与fineCMS的偶遇 - fineCMS getshell漏洞

这个不是0day,我手里也没0day,算是一个漏洞的二次审计,一篇随便写写的记录文,还请各位大牛多多交流。 0x01 偶遇 有一个目标站,扫了一下旁站,用工具没有拿到几个cms的指纹。很奇怪,随手点一个,发现下面有powered by fineCMS。我记得以前也见过这个cms,是用CI框架二次编写的cms,网上搜索搜索“finecms漏洞”,找到的都是1.7.2版本以前的(seay博客里有1.7.2注射: http://www.cnseay.com/tag/finecms%E6%BC%8F%E6%B4%9E/)。但是这个网站是v2.0.12.版本比较新。

倔强的我会选择换一个旁站呢,还是继续深入? 0x02 继续深入 我们来到finecms的官网:http://www.dayrui.com/ 发现论坛里有这么一个公告,一个补丁。发表日期是12.8,再结合这个“头像上传”,我似乎想到了什么。

于是我把补丁下下来,并在网上找了一个没打补丁的v2.1.0源码。 补丁包里就两个文件,function_helper.php和Account.php。我们来把这两个文件和补丁之前的文件进行比较看看。 多了一个删除目录下所有文件的函数:

判断文件名并删除多余目录。之前的代码之所以有问题就是因为它没有递归删除用户上传的压缩包内的文件夹内的内容。

这不就是phpcms那个头像上传getshell吗,原来fineCMS中头像上传的地方使用的是phpcms的源码。而且这个开发者也很负责,在phpcms出事以后很快就发布了自己的补丁。 所以,我们就可以利用头像上传的getshell方法秒拿fineCMSv2.1.0以前版本的shell。 0x03 老办法拿shell(这部分不理解的话参考phpcms那个漏洞) 注册会员,来到上传头像处,选择一个正常图片点保存:

burpsuite抓包改包:

shell成功上传运行:

所以这里给大家一个思路,如果网上找不到现有版本的漏洞,可以去官网看一下补丁包,自己二次审计一下代码,也许有意想不到的收获。 百度一下powered by fineCMS,也是有很多的,你们懂得!!

0x04 后话 系统是linux,菜刀连接可以执行命令,用户组是www,内核版本是2.6.32

作为一个写代码的,提权什么的其实我不太清楚也不太精通。但因为可以执行命令而且是www用户(不是虚拟主机)所以可以直接往目标写shell(找个目标的有写权限的目录就行了),目标就算拿下了。 提权算是后话,Linux提权基本上就是靠内核漏洞了。先反弹一个shell到本地(用nc什么的),然后在它服务器上编译好提权exp,运行就可以获得一个root权限的shell了。 这里给大家推荐一个工具:Linux_Exploit_Suggester 地址 https://github.com/PenturaLabs/Linux_Exploit_Suggester 只要输入内核版本,它就帮你咨询出来能使用的exp:

附件里我会提供未修复漏洞的fineCMS,和漏洞补丁,给各位想学习php和代码审计的同学使用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 利用Dvbbs上传漏洞得到webshell

    下午通过注入点获得了一个站的后台账号密码,但却没有找到后台地址。不过站点居然还有一个不小的论坛,用的是DVBBS的8.2版本。

    phith0n
  • PCMAN FTP STOR命令栈溢出

        继XX同学上个学期对PCMAN FTP这个软件进行了残暴的溢出测试(溢出点是FTP用户名,版本不清楚),我也开始学习逆向和溢出,谷歌上搜索pcman...

    phith0n
  • C语言CGI编程二 - 编写cmd后门

    接着C语言CGI编程入门(一),这次来介绍一个C语言库,叫“CGIC”,这是他们的官网:http://www.boutell.com/cgic/

    phith0n
  • 使用JMeter测试TCP协议

    1. TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,在简化的计算机网...

    jmeter技术研究
  • JDK 5 ~ 10 新特性倾情整理!

    Java技术栈
  • 全球首创API自动化测试,10大功能满足企业所有API 管理需求

    eoLinker接口管理平台作为国内最大的在线接口管理平台,以及GDG的长期合作企业,以其强大的功能以及良好的用户体验深受国内外开发者的喜爱。eoLinker致...

    BestSDK
  • iOS开发中验证手机号是否合法

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • eReviewBoard简要介绍及安装 原

    eReviewBoard 是基于Mylvy的与Eclipse集成的Reviewboard插件。

    donghui
  • PDF截取矢量图

    DrawSky
  • 手写一个Redux,深入理解其原理

    Redux可是一个大名鼎鼎的库,很多地方都在用,我也用了几年了,今天这篇文章就是自己来实现一个Redux,以便于深入理解他的原理。我们还是老套路,从基本的用法入...

    蒋鹏飞

扫码关注云+社区

领取腾讯云代金券