[JAVA代码审计]某OA代码审计

admin 2024年5月19日01:51:56评论9 views字数 1341阅读4分28秒阅读模式

免责申明

本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。

0x00 前言

最近学一学JAVA代码审计,拿出来一个被师傅们审了无数次的代码复现一些漏洞审计的思路

0x01 信息搜集

    网站架构,这里一般从pom.xml配置文件中可以看到一些该项目配置的一些信息,或者在README.md文件当中也可以看到一些网站的信息

[JAVA代码审计]某OA代码审计

我们这里看到网站是基于Spring Boot开发的,使用了插件fastjson,数据库层面应当是使用的Mybatis主要看这三个,因为SpringBoot以及FastJson曾经都爆出过高危的漏洞,其他的不认识哈哈

然后我们在看看pom.xml文件

[JAVA代码审计]某OA代码审计

在pom.xml文件当中可以更加详细的看到一些版本等信息,这里应该是ida新版本的原因,这里我的ida他会自动识别这个版本是否曾经爆出来漏洞,并且会自动将该漏洞的CVE编号给我返回出来,帮我减少了很多时间

然后我们启动项目,但是事先看下配置文件,查看是哪一个端口

[JAVA代码审计]某OA代码审计

一般这种绿色的小图标是SpringBoot的配置文件

[JAVA代码审计]某OA代码审计

这里我们将我们的数据库账号密码修改好,然后看到对应绑定的是80端口,我80端口应该没有占用,所以我们直接将数据库账号密码修改好之后就可以了,注意在java代码审计当中有很多源码是需要手动导入sql数据的,我们都搭建好之后尝试访问。

[JAVA代码审计]某OA代码审计

0x03 审计流程

存储XSS漏洞

[JAVA代码审计]某OA代码审计

在个人中心->用户面板->写便签 存在XSS漏洞,点击保存之后

[JAVA代码审计]某OA代码审计

成功的解析了html的标签,我们这里查找一下对应的方法,看到路由地址为writep,在SpringBoot当中是通过@RequestsMapping进行的路径映射,跟进之后发现,使用了实体传参的技术,所谓实体传参就是就是两个文件,一个文件写入各种传参的值,另一个文件直接调用,舍去了在方法括号当中写入参数,这里另一个文件为Notepaper

[JAVA代码审计]某OA代码审计可以看到我们可控参数为三个第一个为notepaperId,title,concent,回到上一层看代码[JAVA代码审计]某OA代码审计

进行了一些简单的操作以及判断之后直接ndao.save对传入的数据保存到了数据库当中所以造成了存储XSS漏洞

漏洞复现

[JAVA代码审计]某OA代码审计

SQL注入漏洞

    前面我们说到,项目使用的是Mybatis进行操作sql语句的,那么我们全局搜索${}

[JAVA代码审计]某OA代码审计

我们继续跟踪

[JAVA代码审计]某OA代码审计

然后继续跟踪查看那里进行调用了sortMyNotice

[JAVA代码审计]某OA代码审计

进行跟入

[JAVA代码审计]某OA代码审计

这里可以看到可控参数为方框当中的几个值,并且我们通过逆向分析参数也找到了对应的映射地址为informlistpaging,并且那个被${}包裹的参数baseKey也在当中,并且也没有一点过滤我们现在进行尝试访问

漏洞复现

访问目录抓包传参

[JAVA代码审计]某OA代码审计

sqlmap梭哈

[JAVA代码审计]某OA代码审计

   不过可惜的是并没有组件漏洞,前面我们提到使用了fastjson组件,这个组件在审计当中审计关键词为

JSON.parse (String text)
JSON.parseObject(String text)

该网站后端代码当中不存在这个方法的调用,即使这个组件存在漏洞但是也无法使去利用

[JAVA代码审计]某OA代码审计

0x03 结尾

如果师傅们想要这套源码练习审计的话可以联系我哦

[JAVA代码审计]某OA代码审计

原文始发于微信公众号(进击安全):[JAVA代码审计]某OA代码审计

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月19日01:51:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [JAVA代码审计]某OA代码审计http://cn-sec.com/archives/2034023.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息