freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

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

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客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录