代码审计概念理解

——记对OpenSNS的一次代码审计

转自: https://www.freebuf.com/articles/web/207208.html

概述

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文件进行解压没有对解压出文件的内容进行过滤就直接写入硬盘。

漏洞分析

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

代码审计概念理解_第1张图片

漏洞复现

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

代码审计概念理解_第2张图片

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

代码审计概念理解_第3张图片

3. 选择上传

代码审计概念理解_第4张图片

4.上传成功确认复现

代码审计概念理解_第5张图片

5. 上菜刀连一下

代码审计概念理解_第6张图片
代码审计概念理解_第7张图片

解决方案

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

结语

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

你可能感兴趣的:(代码审计概念理解)