代码审计-各cms漏洞分析

一、OFCMS内容管理系统-SSTL模板注入rce
通用漏洞,看看技术架构,pom文件是否有三方漏洞,比如发现应用freemarker组件,这个是个模板组件,常见漏洞有SSTL模板注入rce,我们尝试去审计和利用。
在这里插入图片描述
搭建环境,通过源码一步步分析
先寻找具体位置,通过前端界面大概知道是模板模块
在这里插入图片描述
burp找个请求包,发现接口为
admin/cms/template/save.json
在这里插入图片描述
全局搜索admin/cms/template,找到java文件
在这里插入图片描述
找到具体的方法save,为第一个保存模板
在这里插入图片描述
在这里插入图片描述
通过打断点分析,加入恶意标签<#assign value=“freemarker.template.utility.Execute”?new() >${value(“calc.exe”)}
点击保存
在这里插入图片描述
发现后端接受到pathFile、fileName参数值后未经过过滤防护,重新writeString写入更新文件,保存成功
在这里插入图片描述
访问404.html,触发恶意标签,后端访问组件freemarker.template.utility.Execute从而执行命令
在这里插入图片描述
在这里插入图片描述
二、华夏ERP-sql注入
一步步分析~
看看组织架构mybatis
在这里插入图片描述

全局搜索${看看是否存在没处理的预编译数据语句,找个爆发点status参数
在这里插入图片描述
查询java文件调用关系,向上回溯,一般底层调用xml的sql片段不会直接到控制层,那大概率会在map
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
继续向上回溯调用关系,追踪status传参
在这里插入图片描述
追踪到getMsgCountByStatus方法
在这里插入图片描述
继续向上追溯,发现到了控制层
在这里插入图片描述
查看上下文关系,发现是msg/getMsgCountByStatus接口
在这里插入图片描述
在这里插入图片描述
定位前端位置,msg英文翻译信息意思,通过打断点验证前端信息模块
在这里插入图片描述
发现status参数可控,且后端未进行预处理,这里大概率会有sql注入,用sqlmap本地验证,发现sql注入成功
在这里插入图片描述
三、华夏ERP-权限绕过
发现权限鉴定用的是自己写的filter,用于tomcat组件,只要是请求会先去filter进行判定。只要包含下面截图相关html就不会拦截进行方放行。
在这里插入图片描述
使用…/绕过去读取敏感信息
在这里插入图片描述
四、华夏ERP-fastjson反序列
通用漏洞,查看pom文件,发现应用fastjson组件且1.2.55版本号存在rce漏洞。
在这里插入图片描述
一步步分析找爆发点,全局搜索JSON.parseObject
在这里插入图片描述
直接到控制层/updateUser 接口,beanJson为传入info的值
在这里插入图片描述
前端找到爆发点
在这里插入图片描述
发包验证成功
在这里插入图片描述
五、ruoyi-sql注入
通过${全局搜索找到爆发参数params.dataScope
在这里插入图片描述
继续向上追溯
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
到达控制层,可以看到是在前端角色管理-导出功能
在这里插入图片描述
在这里插入图片描述

漏洞验证:
抓包发现导出功能未有爆发参数,手动传入params[dataScope]参数
在这里插入图片描述
sqlmap验证成功
在这里插入图片描述
五、ruoyi-任意文件下载
这个比较简单,全局搜索down,找到控制层CommonController.java
在这里插入图片描述
分析代码,发现传入filename参数进行下载,未进行过滤
在这里插入图片描述
构造接口,common/download?filename=,此功能是需要在登录后,所以要用已登录的cookie进行验证,验证成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值