某小型CMS漏洞复现审计

2024-11-08 3 0

SQL注入

漏洞复现:

某小型CMS漏洞复现审计插图

登陆后台,点击页面删除按钮,抓包:

某小型CMS漏洞复现审计插图1

rid参数存在sql注入,放入sqlmap检测成功:

某小型CMS漏洞复现审计插图2

代码分析:

Ctrl+Shift+F检索路由:

某小型CMS漏洞复现审计插图3

定位具体代码,为删除功能:

某小型CMS漏洞复现审计插图4

某小型CMS漏洞复现审计插图5

发现deleteByIds调用了传参rid,跟进:

某小型CMS漏洞复现审计插图6

发现进入Dao层,此处依旧调用的deleteByIds,于是找ICommonDao接口实现类:

某小型CMS漏洞复现审计插图7

某小型CMS漏洞复现审计插图8

定位到该类,发现以ids参数接受原先用户传入的rid参数,并在new一个sql对象后,直接将ids参数进行拼接,并通过原生jdbc执行返回结果。

模板注入

内容管理-文件管理-themes-flatweb-about.html,选择编辑,插入payload:

<#assignvalue="freemarker.template.utility.Execute"?new()>${value("calc.exe")}

某小型CMS漏洞复现审计插图9

访问首页,点击关与我们:

某小型CMS漏洞复现审计插图10

执行命令,弹出计算机:

某小型CMS漏洞复现审计插图11

代码分析:

配置文件存在freemark

某小型CMS漏洞复现审计插图12

文件上传

漏洞复现:

这个CMS感觉上传文件路径不是很好找,所以上传时先找个合适的目录再点击上传文件。

文件管理处点击admin进入目录:

某小型CMS漏洞复现审计插图13

再点击文件上传:

某小型CMS漏洞复现审计插图14

通过上传jsp马,不过需要以jspx或者jspf后缀绕过上传。

某小型CMS漏洞复现审计插图15

代码分析:

上传时抓包,根据路由全局搜索:

某小型CMS漏洞复现审计插图16

定位到具体代码段:

某小型CMS漏洞复现审计插图17

用filePath参数接受path参数与file参数拼接,再从filePth参数中取出文件名赋值给fname参数。

跟进getSuffix:

某小型CMS漏洞复现审计插图18

发现只是以简单点来获取后缀。

检测是否为jsp文件后,如果不为则进入为空判断,并以FileOutputStream与write直接上传写入。

某小型CMS漏洞复现审计插图19

某小型CMS漏洞复现审计插图20

任意文件删除:

漏洞复现:

上传jsp马后,点击右方删除文件,抓包。

某小型CMS漏洞复现审计插图21

将下方数据包改为admin上级目录,删除我先前上传但没找到路径的test.jspx文件,删除成功:

某小型CMS漏洞复现审计插图22

代码分析:

根据数据包在IDEA全局搜索,定位到delete代码段:

某小型CMS漏洞复现审计插图23

该方法接收三个参数:path、name 和 data,这些参数通过 \@RequestParam注解从请求中提取,并进行简单拼接,赋值给file对象,此时file对象代表实际的文件名称。

跟进delete方法:

某小型CMS漏洞复现审计插图24

发现对传入的path参数进行了检查,继续跟进:

某小型CMS漏洞复现审计插图25

发现仅仅采用java自带的类java.security.AccessController下的checkPermission(Permissionperm)静态方法校验权限。

如果权限满足便直接通过fs.delete()方法删除,造成任意文件删除漏洞。


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

Java已死,大模型才是未来?
前端做了快两年了,盘点一下我的前端技术栈
我国政府网站公开发布的文档普遍存在泄露内部人员信息的现象,存在较大网络安全风险
Fscan源码结构学习和混淆免杀
SubFinder子域枚举源码结构分析
EVTX:一款针对Windows EVTX事件日志的快速安全解析工具

发布评论