记一次某CMS代码审计,记一次活动比赛的作文五百字以上

9个月前 (12-18) 浅唱丶
4分钟
191
0

原标题:记一次某CMS代码审计

作者:ddwGeGe

本文转自先知社区:https://xz.aliyun.com/t/11774

前言

无意中浏览到某小众OA官网且可以下载到源码,随机审计一波,最后成功Getshell,大佬勿喷

目录结构

环境搭建

WIN11 PhpStudy(Mysql) Redis IDEA(Tomcat 8.0)

将sql文件导入到phpstudy(Mysql)中,同时启动Redis服务,配置好数据库环境

采用白 黑进行审计,从功能点出发,在个人资料处图像可以进行上传

开始抓包进行文件上传,后缀和文件内容均没有做校验,且返回上传的路径和文件名,本以为可以直接getshell,但却无法解析,且该文件并没有落地

代码审计

根据数据包的路径(/func/upload/uploadImages)直接搜索路由,成功找到上传函数

首先会对db的值进行判断,根据db的值来决定上传文件的保存方式

初始上传的时候,db=1,而if的GlobalConstant.FILE_UPLOADER_SAVE_FILE=0,故直接进入到else if

新的文件名 = 上传时间 10位随机数 原始上传文件的后缀名

String extend = FileUtils.getExtend(fileName);// 获取文件扩展名
String noextfilename = DateUtils.getDataString(DateUtils.SDF_YYYYMMDDHHMMSS) StringUtil.random(10);//自定义文件名称
String myfilename= noextfilename "." extend;//自定义文件名称

文件存储在数据库中,并将文件名通过map保存,最后返回在数据包中

db可控,在上传的时候,将db=1改为db=0,进入到if

会创建新的上传目录,新的目录 = Web根目录 upload 上传时间(年月日),若不存在则进行新建

String realPath = request.getSession.getServletContext.getRealPath("/") "/upload/" strYYYYMMDD "/";// 文件的硬盘真实路径
String path = "upload/" strYYYYMMDD "/";
File file = new File(realPath);
if (!file.exists) {
file.mkdirs;// 创建根目录
}

新的文件名的命名方式跟else if基本一致,在获取文件的后缀名的时候,并未进行检查和过滤,直接进行拼接,从而造成了文件上传漏洞

最后将上传文件内容直接复制到新创建的文件

FileCopyUtils.copy(mf.getBytes, savefile);

最后通过map进行存储,且将文件上传路径和文件名分别存储在 filePath、saveName

Map

本文由:浅唱丶 发布于 酷主题,转载请注明出处:https://www.kuzhuti.cn/blog/2639.html
浅唱丶
作者

相关推荐

7个月前 (02-20)

有哪些技术在新媒体领域得到了应用与发展,新技术在媒体中的应用

在新媒体领域,有许多技术得到了应用与发展。其中包括: 云计算:云计算技术使得新媒体公司能够更快速地开发和部署应用,并且可以根据需求动态调整资源。 大数据:新媒体公司可以利用大数据技术,对海量的用户数据进行分析,了解用户喜好、行为习惯等信息,...
7个月前 (02-20)

MES系统怎么选?MES生产管理的主要内容

原标题:MES系统怎么选?MES生产管理的主要内容 生产制造活动是制造企业的核心活动。作为制造活动的实体单位,计划目标和企业价值的实现环节,车间管理是企业管理的焦点。而随着制造业的高速发展,MES是制造企业信息化自动化系统的重点和当前热点,...
7个月前 (02-20)

微信管理系统更有效的管理微信的信息内容,在这里管理微信的数据吧

原标题:微信管理系统更有效的管理微信的信息内容 许多企业会把工作分配到工作微信,因为没人希望自己的个人微信混和工作等相关知识,可是总有人会运用公司的漏洞,做一些损害公司利益的事儿。 不要认为这种事情很少。在深圳了解一家媒体融资公司。他们有3...
7个月前 (02-19)

学生电子档案管理系统,“家”“校”“社”三维立体交流空间,学校的电子档案

大数据时代学校在记录学生成长的进程中,重新审视学生档案管理,顺时而动,以新思维力促学生成长档案的改革。“中小学生成长记录电子档案”被逐步引入教育管理中来,并显示出蓬勃的生命力。 学生档案管理系统是一个学校不可缺少的组成部分,它的内容对于学校...
7个月前 (02-19)

睿哲信息:选Sitecore?还是选……选择内容管理系统,只需六步,睿哲信息技术服务有限公司

内容管理系统(CMS)是网站建设走向成功的重要组成部分,目前网络上的内容管理系统比较复杂,想找一个不错又非常适合当下数字化营销环境的内容管理系统并非易事。在对于各大CMS系统进行功能性、操作、扩展性、安全性等具体性能上对比之前,还需要一个成...

评论

已有0人参与了评论

扫码添加微信

联系我们

微信:Kuzhuti
在线咨询:QQ交谈