某小型CMS漏洞复现审计

news/2025/1/12 3:49:36/文章来源:https://www.cnblogs.com/hetianlab/p/18521411

SQL注入

漏洞复现:

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

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

代码分析:

Ctrl+Shift+F检索路由:

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

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

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

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

【----帮助网安学习,以下所有学习资料免费领!加vx:dctintin,备注 “博客园” 获取!】

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

模板注入

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

<#assignvalue="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(Permissionperm)静态方法校验权限。

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

更多网安技能的在线实操练习,请点击这里>>

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/825475.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

遥感图像Trento原始数据集下载

遥感图像Trento数据集提供下载遥感图像Trento原始数据集下载偶然间在某个项目里发现了Trento的完整数据集,不过那个数据集有些奇怪的小改动 虽然我已经不做遥感方向了,不过当初我找这个数据集也是花了很长时间 于是重新整理了一下,就当是方便后来的研究者使用吧 github:htt…

hadoop-3.1.2分布式搭建

一、准备工作 三台虚拟机:master、node1、node2时间同步 关闭防火墙:systemctl stop firewalld查看防火墙状态:systemctl status firewalld取消防火墙自启:systemctl disable firewalld修改主机名三台分别执行 vim /etc/hostname 并将内容指定为对应的主机 名静态IP配置vim…

#2024-2025-1学号20241309《计算机基础与程序设计》第六周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第六周作业这个作业的目标作业正文 2024-2025-1学号20241309《计算机基础与程序设计》第六周学习总结教材学习内容总结 《计算机科学概论》第七章: 1. Poly…

目标管理中目标制定的原则是什么

目标管理中目标制定的基本原则可以用SMART准则(具体、可衡量、可达成、相关性、时间限制)来概括。文章将主要探讨五个方面:1、具体性(Specific);2、可衡量性(Measurable);3、可达成性(Achievable);4、相关性(Relevant);5、时间限制(Time-bound),目标需有明确…

猿人学web端爬虫攻防大赛赛题第15题——备周则意怠-常见则不疑

题目网址:https://match.yuanrenxue.cn/match/15 解题步骤看触发的数据包。有个m参数,一看就是经过处理的,我们得知道m是如何组成的。看Initiator模块。还是看request函数,往上一看就看到了m的赋值操作。打断点,触发。看下window.m()的定义。比较好理解的,t1和t2就是对时…

ChatOps是什么

ChatOps是一种运维和开发团队在沟通、协作和自动化方面的实践方法。它的核心思想是将运维和开发操作集成到团队常用的聊天工具中,通过命令行或简单的自然语言指令来执行各种操作和任务,从而提高团队的效率和透明度。一、ChatOps的概念 ChatOps是一种运维和开发团队在沟通、协…

编程 和 数学 的关系是什么

编程 和 数学 的关系有:1. 共同的逻辑思维基础;2. 共享抽象建模的特性;3. 算法与数学之间的紧密联系;4. 数据结构和数学对象的对应关系;5. 计算机科学中的数学理论;6. 创新和问题解决的共同性。编程和数学都建立在严密的逻辑思维基础上。数学是一种形式化的语言,通过推理…

独显直连是啥意思

独显直连(Direct GPU Access,DGA)是一种涉及计算机图形卡和显示系统交互的技术。这种配置方式允许操作系统或应用程序直接与图形卡硬件进行通信,绕过传统的操作系统驱动和API层。独显直连在提高图形性能、降低延迟、并为高性能计算带来优势方面有其独到之处。本文将深入探讨…

Diffuision Policy + RL -------个人博客_ZSY_20241101

Diffusion Policy: Visuomotor Policy Learning via Action DiffusionCheng Chi, Zhenjia Xu, Siyuan Feng, Eric Cousineau, Yilun Du, Benjamin Burchfiel, Russ Tedrake, Shuran Song 原论文链接 投在了IJRR上 点击:原作者论文思路讲解 1. PPO背景引入 这里简要交代PPO的算…

抖音蓝V信息采集器快手蓝V商家联系方式批量提取工具

抖音蓝V信息采集器快手蓝V商家联系方式批量提取工具 作者V♥553813195 关于抖音蓝V信息采集器和快手蓝V商家联系方式批量提取工具,以下是详细的分析:一、抖音蓝V信息采集器 定义与功能 抖音蓝V信息采集器是一款专为抖音平台设计的工具,旨在帮助用户快速、准确地采集具有蓝V认…

halo配置踩坑过程小记

halo配置过程详解写在最前:​ 终于搞定了最后的一步域名解析配置,其实动态博客的折腾程度也不低于当时的hexo吧,也可能当时的痛苦过程已经忘了。。整理一下思路,记录一下配置过程走过的坑。 ​ 我是从hexo用了半年想折腾点新玩意儿的,其实hexo配置自动化部署之后也挺方便的…

wordpress设置自定义字体

wordpress设置自定义字体详解wordpress设置自定义字体: 失败的操作过程:写在最前:试了一天多的引用字体,方法包括但不限于:下载.ttf、.otf格式字体,转化为wotf 、wotf2格式,挂在github仓库用CDN引用,得到css链接​ 然后这里填字体名称和CSS链接,试了很久很久,都失败了…