freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

代码审计 | oasys 任意文件读取漏洞分析
2024-12-30 17:56:07
所属地 山西省

一、cms简介:

oasys是一个OA办公自动化系统,基于springboot框架开发,使用Maven进行管理的项目

本文是关于oasys CMS漏洞分析学习,将围绕存任意文件读取漏洞进行分析学习,大纲:

1、环境搭建
2、文件读取漏洞分析


二、环境搭建

下载源码,使用idea导入


创建相应的数据库,更改配置信息


然后启动环境,登录到后台


三、文件读取漏洞分析

这里我们使用的方法是黑盒审计

在该控制器的image方法,存在任意文件读取漏洞,代码如下:

主要代码分析

String projectPath = ClassUtils.getDefaultClassLoader().getResource("").getPath();
System.out.println(projectPath);
尝试获取项目的根路径,并打印出来。这通常用于调试目的,以确认程序正在使用正确的路径。


String startpath = new String(URLDecoder.decode(request.getRequestURI(), "utf-8"));
获取原始请求的URI,并对其进行URL解码,以确保任何编码的字符都被正确解析。例如,空格会被转换回%20。


String path = startpath.replace("/image", "");
从解码后的请求URI中移除/image部分,从而得到相对于/image的路径。


File f = new File(rootpath, path);
创建一个File对象,代表服务器上基于rootpath和调整后的路径的实际文件位置。


我们验证一下,因为是在windows系统下,文件的根路径不会像Linux系统一样是统一的根路径,而是自己的底盘。

我们这里在G盘根目录下创建了一个1.txt


发现可以读取到文件,说明存在任意文件读取漏洞

show方法,也跟image方法一样都存在任意文件读取漏洞,同image分析方法一样



# web安全 # 数据安全 # 漏洞分析
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录