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) />,如下图所示:

成功实现弹框。

相关文章
|
1月前
|
数据安全/隐私保护
点晴OA办公系统让企业变得高效协同
随着企业信息化进程的加快,很多企业开始寻求使用企业管理免费OA办公系统来提高工作效率。然而,有些些企业可能缺乏信息化经验,对技术一无所知,甚至从未接触过OA办公系统。在这种情况下,企业需要寻求功能比较全面的OA办公系统,以满足企业的实际需求。
39 1
|
1月前
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
31 2
|
1月前
|
SQL 安全 Java
代码审计-JAVA----javaweb代码审计思路
代码审计-JAVA----javaweb代码审计思路
|
2月前
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
53 1
|
21天前
|
敏捷开发 数据可视化 数据挖掘
哪些OA任务管理系统值得推荐?4款高效办公工具介绍
在现代企业中,OA(办公自动化)任务管理系统是提升工作效率和团队协作的关键工具。本文介绍了4款备受推崇的OA任务管理系统:板栗看板、Trello、Asana和Monday.com,分别从提高工作效率、增强团队协作、优化资源分配和提升工作质量等方面进行了详细说明,为用户提供全面的参考和选择指南。
|
2月前
|
数据安全/隐私保护 UED
免费OA办公系统的实力派:点晴OA
点晴OA办公系统是一款面向中小企业的办公自动化解决方案,旨在提高工作效率和优化管理流程。它通过提供多维度的功能模块结构、高度的定制化能力、友好的用户界面以及安全可靠的数据保护机制,满足企业日常办公的多样化需求。以下是关于点晴OA办公系统的详细介绍:
81 0
|
3月前
|
JavaScript 前端开发 搜索推荐
【Vue 2】一个功能强大OA办公系统,开源且免费!!
【Vue 2】一个功能强大OA办公系统,开源且免费!!
|
4月前
|
存储 监控 BI
点晴免费OA,你的办公效率升级神器!
OA软件是办公自动化软件平台,提升效率、优化管理。功能包括流程审批、协同工作、公文管理、组织管理和知识管理,满足企业多样需求。助力高效、智能、绿色办公,提升企业竞争力。
56 4
|
3月前
|
监控 数据安全/隐私保护
点晴OA系统,有效提升企业办公效率落实执行力
点晴OA系统通过其独特的功能和优势,有效提升了企业的办公效率并落实了执行力。以下是关于点晴OA系统提升企业办公效率及执行力的相关信息:
62 0
|
4月前
|
监控 BI
点晴免费OA办公系统全面了解看这里
在当今数码化办公环境中。免费OA办公系统已经成为企业管理的核心工具之一。免费OA办公平台是一种集成了各种办公工具、软件和流程的综合系统,旨在提高工作效率、降低沟通成本,并推动组织数字化转型。
63 4