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

相关文章
|
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