某小型CMS漏洞复现审计

ops/2024/11/2 4:15:09/

SQL注入

漏洞复现

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

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

代码分析:

Ctrl+Shift+F检索路由:

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

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

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

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

帮助网安学习,全套资料S信免费领取:
① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

模板注入

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

<#assign
value=“freemarker.template.utility.Execute”?new()>${value(“calc.exe”)}

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

执行命令,弹出计算机:

代码分析:

配置文件存在freemark

文件上传

漏洞复现

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

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

再点击文件上传:

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

代码分析:

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

定位到具体代码段:

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

跟进getSuffix:

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

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

任意文件删除:

漏洞复现

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

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

代码分析:

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

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

跟进delete方法:

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

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

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


http://www.ppmy.cn/ops/130319.html

相关文章

OKHTTP断点续传

OKHTTP断点续传 文章目录 OKHTTP断点续传HTTP断点续传知识点RangeContent RangeEtag&If-Range&#xff08;文件唯一标志&#xff09; OKHTTP断点下载OKHTTP 简单短断点下载代码示例 Android 断点续传一直是面试的高频问点&#xff0c;这里从HTTP断点续传知识和Android续传思…

嵌入式web开发:boa、lighttpd

嵌入式web开发&#xff1a;boa、lighttpd https://blog.csdn.net/m0_37105371/category_10937068.html BOA服务器的移植-CSDN博客 【第1部分&#xff1a;boa服务器部署到ubuntu里】 http://www.boa.org/boa-0.94.13.tar.gz tar xvzf boa-0.94.13.tar.gz cd boa-0.94.13/src/ a…

Spring Boot实战:构建校园社团信息管理系统

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理校园社团信息管理系统的相关信息成为必然。…

鸿蒙网络编程系列40-TLS数字证书查看及验签示例

1. TLS数字证书验签简介 数字证书的验签是网络编程中一个重要的功能&#xff0c;它保证了数字证书的真实性&#xff0c;在此基础上&#xff0c;我们才可以信任该证书&#xff0c;从而信任基于该证书建立的安全通道&#xff0c;所以说&#xff0c;数字证书的验签是通讯安全的基…

QT报错,QObject::setParent: Cannot set parent, new parent is in a different Thread

文章目录 一、背景分析二、错误原因跨线程设置父对象&#xff1a;对象迁移&#xff1a;线程间共享对象&#xff1a; 三、解决方案确保父子对象在同一线程&#xff1a;正确管理对象迁移&#xff1a;避免线程间共享对象&#xff1a; 四、代码示例五、总结 QT报错&#xff0c;QObj…

网安加·百家讲坛 | 赵锐:数据安全二十载

作者简介&#xff1a;赵锐&#xff0c;诸子云上海会长、某跨国企业中国区副总裁、网安加社区特聘专家、专利发明人&#xff0c;历任多家金融机构、世界500强企业的安全负责人、安全专家。有20年科技风险、信息安全、数据安全、业务安全等领域的丰富经验&#xff0c;是多家机构的…

notepad++ compare插件的离线下载和安装

一、离线安装 去改地址找到最新的插件&#xff1a;https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x64.md下载之后复制到插件文件夹&#xff0c;插件文件夹的打开方式如下 注意目录&#xff1a; 二、问题汇总 &#xff08;1&#xff09…

[ 问题解决篇 ] 解决windows虚拟机安装vmtools报错-winserver2012安装vmtools及安装KB2919355补丁 (附离线工具)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…