19

记对OpenSNS的一次代码审计

 4 years ago
source link: https://www.tuicool.com/articles/V3QrQzF
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

我在FreeBuf上每天都可以学到很多新思路新技术,感谢这个平台,为了回馈FreeBuf的小伙伴们,写下这篇文章,希望在可以为奋斗在网络安全路上的小伙伴们提供一些新奇小思路,其实挖洞并不难,也希望大家能把分享的精神发扬光大。

概述

OpenSNS是想天科技开发的一款综合性社交软件。您可以使用OpenSNS快速搭建一个类似于新浪微博一样的功能强大的社交网站。您的社交网站也可以在微信中被访问,还支持苹果和安卓手机通过APP的形式使用。除此之外,OpenSNS还提供云市场进行功能扩展,大量的扩展让你的网站如虎添翼。官网: http://www.opensns.cn/

相关环境

源码信息:OpenSNS开源版

漏洞类型:后台getshell

下载地址:http://www.opensns.cn/home/index/download.html

漏洞文件:./Application/Admin/Controller/ThemeController.class.php 第170行

漏洞原理

程序在上传zip文件时,自动对zip文件进行解压没有对解压出文件的内容进行过滤就直接写入硬盘。

漏洞分析

代码中对上传文件进行了后缀名过滤,对非法尾缀名文件进行了过滤,过两次成功后进行了解压,但是并没有对解压后的文件内容进行过滤直接写入了硬盘导致了漏洞的存在

MnUZR36.jpg!web

漏洞复现

1. 打开网站后台找到模板上传位置 uMvANnm.jpg!web

2. 配置一个压缩包,压缩包里是一句话木马 Q73q6bJ.jpg!web

3. 选择上传 JF3IBvJ.jpg!web

4.上传成功确认复现 zemUBjF.jpg!web

miI7F3b.jpg!web 5. 上菜刀连一下

zINZvyz.jpg!web

解决方案

对上传模板文件进行限制或禁止前台访问该目录。

结语

很多刚刚入坑的萌新们认为代码审计似乎很难,想挖到漏洞似乎只有大佬们才能实现,但是其实我想说挖到属于自己的漏洞其实并不难,需要的是你能够平静下急功近利的心,耐得住漏洞挖掘中的乏味,不断去磨练自己的意志,增长自己的经验,相信自己,你是醉棒的,你也可以成为别人眼中的大佬!

*本文作者:chenchuan,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK