java代码审计之某办公oa(二)

简介: java代码审计之某办公oa

任意文件读取

漏洞文件位于:src/main/java/cn/gson/oasys/controller/user/UserpanelController.java

src/main/java/cn/gson/oasys/controller/process/ProcedureController.java

两个文件都存在该漏洞,原理一致,这里拿第一个来说明。

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

可以看到代码中首先通过getRequestURI方法当前访问的相对路径,然后将该路径中的iamge替换为空。接下来与rootpath拼接然后通过File打开文件后返回前端。

通过替换”/image”的操作,我们可以构造…/来造成目录穿越从而进行任意文件读取,BP请求如下:通过替换”/image”的操作,我们可以构造…/来造成目录穿越从而进行任意文件读取,BP请求如下:

前台sql注入

src/main/java/cn/gson/oasys/controller/inform/InformController.java 68行

有一个informlistpaging方法

在该方法中定义了一个字符串请求参数basekey,用list集合接收了sortMyNotice方法处理basekey等参数的结果,跟进查看哪里定义了nm

跟进NoticeMapper

转到mapper层

在此数据持久层搜索调用到的selectid

在like后面直接用${%%}进行模糊查询,导致了漏洞的产生

漏洞验证

根据controller的路由构造url:

sqlmap.py -r D:\test.txt

sqlmap.py -r D:\test.txt --random-agent --dbs --current-db

创建一个普通职工账号 test test

大致浏览pom.xml代码时发现了mybatis,mybatis中存在${}SQL注入,全局搜索${},发现在/src/main/resources/mappers/address-mapper.xml和/src/main/resources/mappers/notice-mapper.xml中存在${}

接下来就去看那个地方对该参数进行了调用,往上跟踪cn.gson.oasys.mappers.NoticeMapper接口——>sortMyNotice追踪到/src/main/java/cn/gson/oasys/controller/inform/InformController.java的如下代码中

可以看到baseKey是可控的,直接从前端传入,下面给的有url,然后直接访问就行 http://localhost:8089/informlistpaging?baseKey=1

报错注入

通过构造payload可以使用报错注入的方式在控制台处得到返回的报错信息

Payload

http://localhost:8089/informlistpaging?baseKey=1' and (select extractvalue(“0x7e”,concat(‘~’,(select user())))a) and ‘1’=’1

时间盲注

同样可以构造时间盲注的payload

http://localhost:8089/informlistpaging?baseKey=1' and (select * from(select(sleep(2)))a) and ‘1’=’1%23

XSS(笔记处)

在测试功能点时发现在写笔记时将标题名可直接写为XSS恶意代码

代码中并未对该处输入坐任何限制,在存储时也是直接将得到的Title存储.

SQL注入

在resources\mappers中,发现了mapper文件,在第16行用了$拼接,那么会造成SQL注入,但前提是看一下pinyin这个参数是不是可控。

那就一步步往上跟:

cn.gson.oasys.mappers.AddressMapper接口------>allDirector方法直接全局搜索,定位到Controller中

进入到AddrController中outAddress方法,可以确定在Mapper中pinyin这个参数是可以被利用的。既然是RequestMapping,不用再去找页面中摸索功能点了。那么直接进行get方式访问。

构造请求

直接一手sqlmap跑出来。

文件管理-新建文件夹存在XSS漏洞

访问上述功能,点击新建文件夹,输入文件夹名为XSS验证语句<img src=1 onerror=alert(1) />,如下图所示:

成功实现弹框。

相关文章
|
8天前
|
UED
点晴免费OA系统让企业办公一键疏通
随着时代的发展,企业的管理难度越来越大,而点晴免费OA系统是企业数字化转型的得力助手,帮助企业提升工作效率,优化资源配置,促进信息共享,从而打破部门间信息壁垒,助力企业在竞争中脱颖而出。
22 3
|
27天前
|
人工智能 安全 搜索推荐
OA办公的未来:从工具到流程的深度整合
在企业数字化转型中,“效率”至关重要。多人协同编辑(如板栗看板)突破传统文档处理方式,解决了信息孤岛、重复劳动和信息不透明等协作瓶颈,提供即时同步、可追溯、灵活及安全的编辑体验。它作为现代化OA系统的核心模块,通过优化文档协作、流程和知识管理,以及组织间的协作,显著提升多部门工作效率,缩短定稿周期,并支持跨区域无缝对接。未来,该技术将向智能化发展,集成AI辅助、跨平台融合和个性化配置等功能,为企业创造更大价值。
|
27天前
|
SQL 安全 前端开发
对于Java代码审计,主要的审计步骤如下:
### Java代码审计简介 Java代码审计是确保应用程序安全的重要步骤,主要包括以下几个关键环节: 1. **确定项目结构与技术框架**:了解项目的整体架构和技术栈。 2. **环境搭建**:配置开发环境,确保能够正常运行项目。 3. **配置文件分析**:重点分析`pom.xml`、`web.xml`等配置文件,特别是依赖组件的版本是否存在已知漏洞。
|
1月前
|
存储 安全 BI
怎样利用点晴免费OA办公系统提升工作效率
随着信息技术的不断发展,OA办公系统的使用率越来越高,让企业更快捷、高效地处理各类事务。点晴免费OA办公系统是一款全面优秀的办公管理系统,其强大的功能和灵活性,为办公环境带来了巨大提升。
52 10
|
2月前
|
安全 数据安全/隐私保护
免费企业级OA办公系统,助力高效办公
拥有一套高效的免费OA办公自动化系统对于企业和机构来说至关重要。然而,对于许多中小型企业而言,购买一套全面的OA系统的成本又比较高。今天,我们为大家带来真正完全免费的点晴OA,让它成为您企业高效办公的得力助手!
81 10
|
2月前
|
安全 数据挖掘 BI
一款功能全面且免费的OA办公系统,下载即用
点晴免费OA办公系统是一款完全免费,不限使用时间,不限用户数,功能全面的免费OA办公系统,下载安装即用,使用点晴OA办公系统可以简单快速地建立办公自动化系统。
87 5
|
3月前
|
安全 搜索推荐 数据安全/隐私保护
点晴免费OA办公系统:高效协同,安全易用
信息技术发展推动企业信息化,即企业利用现代技术提升生产、经营、管理效率,增强竞争力。点晴免费OA系统作为信息化管理的基础,是实现企业信息化的关键手段。
72 2
|
4月前
|
数据安全/隐私保护
点晴OA办公系统让企业变得高效协同
随着企业信息化进程的加快,很多企业开始寻求使用企业管理免费OA办公系统来提高工作效率。然而,有些些企业可能缺乏信息化经验,对技术一无所知,甚至从未接触过OA办公系统。在这种情况下,企业需要寻求功能比较全面的OA办公系统,以满足企业的实际需求。
81 1
|
4月前
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
179 2
|
4月前
|
SQL 安全 Java
代码审计-JAVA----javaweb代码审计思路
代码审计-JAVA----javaweb代码审计思路

热门文章

最新文章