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

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

CSRF漏洞挖掘

对于CSRF漏洞基础概念不熟悉的小伙伴,可回顾学习WEB安全原创入门学习课程下的第 2.2 课 --- CSRF漏洞基础入门。

学习链接:https://t.zsxq.com/EieMBuj

本系统也存在多处CSRF漏洞,举例说明。

①、访问用户面板功能,点击写便签,输入任意内容。

②、打开BurpSuite,并打开浏览器代理,指向BurpSuite。BurpSuite打开Intercept is on进行拦截。

③、然后点击保存便签,BurpSuite拦截输入包如下图所示:、

代码分析:

获取到输入的内容之后,没有做任何限制。

这是 Java Web 应用程序中用于保存“便签纸”对象的方法。它似乎正在使用 Spring MVC,因为它具有基于注释的请求映射和会话属性。

该方法接受三个参数:

● Notepaper npaper:这是一个代表便条纸的对象。它具有各种字段,例如标题、内容和用户 ID。

● @SessionAttribute("userId") Long userId:这是一个保存用户 ID 的会话属性。它带有 注释@SessionAttribute,这意味着它将由 Spring MVC 框架从用户的会话中自动检索。

● @RequestParam(value="concent",required=false)String concent:这是一个名为“concent”的请求参数。它被注释为@RequestParam,这意味着它将由 Spring MVC 框架从请求中自动检索。该required=false属性表明该参数是可选的。

该方法执行以下操作:

  1. 它从会话属性中检索与用户 ID 关联的用户对象。
  2. 它将便条对象的创建时间设置为当前日期。
  3. 它将 notepaper 对象的用户 ID 设置为在步骤 1 中检索到的用户对象。
  4. 如果它为 null 或为空,它将便条对象的标题设置为“无标题”(中文意思是“无标题”)。
  5. 如果“concent”请求参数为 null 或为空,它将 notepaper 对象的内容设置为该值。
  6. 它使用对象保存便条纸对象ndao,该对象可能是某种数据访问对象。
  7. 它向客户端返回“重定向”响应,将客户端定向到“/userpanel”URL。这将导致客户端浏览器向“/userpanel”URL 发出新请求。

越权删除

从渗透测试黑盒角度测试,我们发现了日程管理处存在越权删除漏洞。现在我们从代码角度看看问题出在了哪里。

通过日程删URL中的dayremove,可以定位到日程删除位于src\main\java\cn\gson\oasys\controller\daymanage\DaymanageController.java,第204-211行,如下图所示:

单从上面几行代码来看,仅是查询rcid参数后,进行了删除。我们进一步追下流程。

①、从上面可以看到,使用了daydao.findOne(rcid),来操作rcid,查看daydao发现来自DaymanageDao,如下图所示:

②、进入DaymanageDao,发现并没有findOne,发现DayManageDao继承了JpaRepository,而进入JpaRepository之后也未发现findOne,但发现它继承了QueryByExampleExecutor,而findOne就在这里面,如下图所示:此时大家应该发现JpaRepository和QueryByExampleExecutor代码属于引入依赖的代码了,这两个代码来源自Spring Data,其中findOne是其中一个方法,具体意思如下

就是说:

● findOne返回一个Optional对象,可以实现动态查询;而Optional代表一个可能存在也可能不存在的值。

此时总结上面流程,简单说,日程删除功能先使用findOne去查询rcid是否存在该值。

然后再使用daydao.delete(rc)进行删除,此时我们追踪一下这个方法,发现这个delete方法也就是Spring Data CrudRepository中的delete(删除)方法,如下图所示:

最后,我们回顾整个流程,也就是说查询了rcid的值,然后进行删除。整个流程没有任何权限的验证,因此导致了越权的操作。

REF:

http://myblog.ac.cn/archives/2022-08-10-10-53-26

https://m.freebuf.com/articles/web/320441.html

https://blog.csdn.net/qq_44029310/article/details/125119709

相关文章
|
安全
员工总在找领导签字?点晴移动OA实现全员"零跑腿"办公
“张总,这份合同需要您签字!” “王经理,报销单麻烦批一下!” “李总监,请假申请您还没批,我这边着急……” 这样的场景是否每天都在你的企业上演?员工疲于跑腿找领导签字,管理层被琐碎审批缠身,业务流程卡在“最后一公里”。传统纸质审批不仅效率低下,还可能导致文件丢失、流程延误,甚至影响业务推进。 如何破解这一管理困局?点晴移动OA系统,通过智能化、无纸化、移动化办公,让审批流程“跑”起来,真正实现**全员“零跑腿”办公!
530 1
|
人工智能 安全 搜索推荐
宜搭AIOA:AI+低代码重构OA生态,打通人财物事数据流,解锁办公效能新高度
AIOA协同办公解决方案基于钉钉+低代码+AI构建,以钉钉为底座,提供快速迭代的OA应用。方案内置三大主线应用(销售、采购、财务费用闭环),支持独立或关联使用,并预置高频OA场景如固定资产、车辆管理等,实现开箱即用。面对传统办公模式挑战,AIOA从单一到协同、人工到智能、人治到数治、分散到聚合全面升级。工作空间角色化、流程管理一体化、专属AI助理智能化,覆盖营销、采购、费控、资产管理等全生命周期,助力企业高效数字化转型。
1340 14
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
637 17
|
安全 数据可视化 搜索推荐
点晴OA系统:无缝集成,打造高效办公生态圈
在数字化转型浪潮中,企业办公效率的提升已成为决定竞争力的关键因素。点晴OA系统以其卓越的无缝集成能力,正在重塑现代企业的办公生态,为组织带来前所未有的效率提升。
423 5
|
人工智能 安全 搜索推荐
OA办公的未来:从工具到流程的深度整合
在企业数字化转型中,“效率”至关重要。多人协同编辑(如板栗看板)突破传统文档处理方式,解决了信息孤岛、重复劳动和信息不透明等协作瓶颈,提供即时同步、可追溯、灵活及安全的编辑体验。它作为现代化OA系统的核心模块,通过优化文档协作、流程和知识管理,以及组织间的协作,显著提升多部门工作效率,缩短定稿周期,并支持跨区域无缝对接。未来,该技术将向智能化发展,集成AI辅助、跨平台融合和个性化配置等功能,为企业创造更大价值。
|
UED
点晴免费OA系统让企业办公一键疏通
随着时代的发展,企业的管理难度越来越大,而点晴免费OA系统是企业数字化转型的得力助手,帮助企业提升工作效率,优化资源配置,促进信息共享,从而打破部门间信息壁垒,助力企业在竞争中脱颖而出。
334 3
|
存储 安全 BI
怎样利用点晴免费OA办公系统提升工作效率
随着信息技术的不断发展,OA办公系统的使用率越来越高,让企业更快捷、高效地处理各类事务。点晴免费OA办公系统是一款全面优秀的办公管理系统,其强大的功能和灵活性,为办公环境带来了巨大提升。
292 10
|
SQL 安全 前端开发
对于Java代码审计,主要的审计步骤如下:
### Java代码审计简介 Java代码审计是确保应用程序安全的重要步骤,主要包括以下几个关键环节: 1. **确定项目结构与技术框架**:了解项目的整体架构和技术栈。 2. **环境搭建**:配置开发环境,确保能够正常运行项目。 3. **配置文件分析**:重点分析`pom.xml`、`web.xml`等配置文件,特别是依赖组件的版本是否存在已知漏洞。
|
安全 数据安全/隐私保护
免费企业级OA办公系统,助力高效办公
拥有一套高效的免费OA办公自动化系统对于企业和机构来说至关重要。然而,对于许多中小型企业而言,购买一套全面的OA系统的成本又比较高。今天,我们为大家带来真正完全免费的点晴OA,让它成为您企业高效办公的得力助手!
409 10
|
安全 数据挖掘 BI
一款功能全面且免费的OA办公系统,下载即用
点晴免费OA办公系统是一款完全免费,不限使用时间,不限用户数,功能全面的免费OA办公系统,下载安装即用,使用点晴OA办公系统可以简单快速地建立办公自动化系统。
412 5