代码审计 | 你一定会审的java系统

2024-03-15 1,039 0

1.背景

一转眼2024年了,小帅的朋友----小胖今年就要毕业了,作为一个计算机科学与技术的大学生,在本科毕业的时候都会贡献出一套学生管理系统这样的毕业设计留给自己的母校,而小帅一个不甘平庸的安服仔,早早就开始布局java代码审计 ( 你这是看不起php? )。但是奈何网上的开源系统要么搭建繁琐,要么代码量巨大,功能太多,再或者就是一些java组件的代码审计,不适合新手入门,导致学习进度缓慢。既然小胖写了一套系统,这不刚好送上门吗?开干!

2.环境

问小胖要来部署文档,梦,开始了!

源码下载

https://gitee.com/huang-yk/student-manage

环境

1.Windows 10
2.jdk "1.8.0_172"
3.Mysql版本为5.7, PHPstudy集成的。
4.IDEA版本随意 2022.2 专业版

1.创建数据库

cms

代码审计 | 你一定会审的java系统插图

2.导入sql文件

代码审计 | 你一定会审的java系统插图1

3.修改 application-local.yml 核心配置文件

代码审计 | 你一定会审的java系统插图2

4.加载 pom.xml 中的依赖

代码审计 | 你一定会审的java系统插图3

5.运行 启动文件

代码审计 | 你一定会审的java系统插图4

访问

http://localhost:8888/login/loginPage

admin/123456

代码审计 | 你一定会审的java系统插图5

代码审计 | 你一定会审的java系统插图6

3.目标

通过该项目, 把java cms的代码审计checklist编写起来

4.审计

看一下源码的目录结构

代码审计 | 你一定会审的java系统插图7

先瞜一眼pom.xml , 很明显是一个spring的项目

代码审计 | 你一定会审的java系统插图8

审计第三方组件 pom.xml

fastjson
mybatis
shiro
log4j

4.1.fastjson代码审计

使用idea打开项目,shift + ctrl + f 全局搜索,如果你是搜狗输入法请在高级中关闭

代码审计 | 你一定会审的java系统插图9

全局搜索

parse(
parseObject(

代码审计 | 你一定会审的java系统插图10

代码审计 | 你一定会审的java系统插图11

无反序列化的函数调用, 漏洞不存在

4.2验证码绕过

直接黑盒测试, 发现登录存在验证码刷新机制

代码审计 | 你一定会审的java系统插图12

难道就不能爆破了吗?

这里使用burp抓包测试

代码审计 | 你一定会审的java系统插图13

发现登录失败, 并不是302再次跳转到登录页面, 很有可能存在验证码未在后端刷新存在缺陷, 导致暴力破解漏洞

抓包,尝试爆破

代码审计 | 你一定会审的java系统插图14

存在验证码缺陷导致的暴力破解漏洞

源码分析

代码审计 | 你一定会审的java系统插图15

具体漏洞产生的原因就写在代码注释里面了

4.3sql注入 

项目使用的是mybatis, 直接全局搜索

${

代码审计 | 你一定会审的java系统插图16

也是一个没有,不放心, 进入 dao/查看*.xml

代码审计 | 你一定会审的java系统插图17


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论