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

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

简介:

oasys是一个OA办公自动化系统,使用Maven进行项目管理,基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,Bootstrap作为前端UI框架,集成了jpa、mybatis等框架。

源码可以访问链接下载:https://gitee.com/aaluoxiang/oa_system?_from=gitee_search

环境搭建:

环境搭建没有什么特别的,数据库创建oasys的数据库后导入oasys.sql,然后在application.properties文件中配置数据库地址就可以了。

漏洞挖掘:

SQL注入(通知列表)

首先拿到代码后看一下依赖,发现项目中使用了mybatis,然后在映射文件看一下有没有用${}的:可以看到,下面的接口使用了${}字符串拼接。

接下来在控制器中搜索一下看哪个控制器使用了该接口,最终在通知列表处找到一次使用:

漏洞复现:

通过构造paylaod,成功实现sql注入。

SQL注入(通讯录)

这个注入和上面一样,同样因为使用${}进行字符串拼接。

映射文件如下:

控制器代码如下:

漏洞复现:

构造请求如下:

存储XSS(部门管理)

漏洞位于部门管理->添加部门处:

代码查看:

可以看到没有进行任何过滤直接调用deptdao.save将数据存入数据库。

存储XSS(用户管理)

用户管理->编辑用户处存在存储XSS。

可以看到同样没有任何过滤就直接存入数据库,说明XSS漏洞在全站存在多处。

代码分析:

越权漏洞

漏洞位于流程管理->我的申请->查看流程处:

可以看到URL中有个id参数,猜测该参数为流程id标识,看一下后端代码:

这里只放上部分关键代码,可以看到首先获取了当前用户对象,然后根据URL中的ID参数获取了流程对象,并且对比userID判断是申请人还是审批人。可以看出并没有对其他用户越权访问进行处理。

使用另外一个低权限账号登录系统,首先查看流程列表:

可以看到没有任何流程,接下来使用该用户cookie来调用查看流程的接口来枚举流程:

使用另外一个低权限账号登录系统,首先查看流程列表:

可以看到没有任何流程,接下来使用该用户cookie来调用查看流程的接口来枚举流程:

可以看到枚举出很多流程,证明越权确实存在。


相关文章
|
2天前
|
安全 网络安全 数据安全/隐私保护
OA办公系统选购注意的事项
随着数字化时代的到来,越来越多的企业开始选择使用OA办公系统来提高工作效率和管理效果。然而,在选购OA办公系统时,需要注意以下几点的事项,希望能对企业选购OA办公系统有所帮助。
29 4
|
2天前
|
UED
点晴OA办公系统如何实现业务表单的自定义设计
在点晴OA办公系统中,业务表单的自定义设计是一项重要的功能,它能够满足企业不同的业务需求,提高工作效率和协作能力。 随着企业的发展,不同的业务部门需要处理各种类型的表单,如人事表单、财务表单、项目表单等。如果这些表单无法根据实际需求进行自定义设计,就会导致工作效率低下、信息不准确、协作困难等问题。因此,实现业务表单的自定义设计是提高企业办公效率和协作能力的重要手段。
26 0
|
2天前
|
BI
四款OA办公系统快速提高企业效率
拥有合适企业的OA系统不仅可以实现办公自动化而且还能提高企业效率,今天盘点以下几家的OA办公系统。
31 0
|
2天前
|
数据安全/隐私保护
免费OA办公系统,提升工作效率与协作的智能选择
在当今快节奏的时代中,企业需要一种高效、智能的办公系统来提升工作效率,促进团队协作,并实现更好的信息管理。点晴OA办公系统是真正免费使用的,成为现在企业管理的重要工具之一。
34 2
|
7月前
|
人工智能 大数据
点晴移动OA办公,为企业管理可持续发展赋能
随着互联网、人工智能、大数据等新技术的快速发展,企业如何提高组织工作效率、实现资源的合理规划和配置在内部管理非常重要,因此点晴移动OA办公应运而生。
34 0
|
6月前
|
JavaScript Java 关系型数据库
ssm+vue的OA办公管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
ssm+vue的OA办公管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
|
2天前
企业都是用谁家的OA办公系统?
好的免费OA办公系统都有哪几家,下面让我们来一起看看吧!
28 1
|
2天前
|
SQL 开发框架 .NET
OA办公自动化系统设计与实现(论文+源码)_kaic
OA办公自动化系统设计与实现(论文+源码)_kaic
|
2天前
|
JavaScript Java 测试技术
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
142 3
|
2天前
免费OA办公系统的选购指南
使用点晴免费OA办公系统可以提高工作效率和管理水平,优化工作流程,降低沟通成本,减轻办公室工作负担,提高工作质量和效率,为企业提供更好的服务。
26 2