freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

99+

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

代码审计 | 你一定会审的java系统
derian 2024-03-04 17:17:46 585867

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

1709540970_65e5866adfad43dba3485.png!small?1709540971523

2.导入sql文件

1709540991_65e5867fe630ccc6cdb15.png!small?1709540992178

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

1709541006_65e5868ec0ed6214d4819.png!small?1709541007221

4.加载 pom.xml 中的依赖

1709541017_65e586995638c38e3b02e.png!small?1709541017873

5.运行 启动文件

1709541037_65e586ad1cd08a4085d8c.png!small?1709541037264

访问

http://localhost:8888/login/loginPage

admin/123456

1709541068_65e586cc83291e5453dc9.png!small?1709541069673

1709541077_65e586d5a230582c60028.png!small?1709541077818

3.目标

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

4.审计

看一下源码的目录结构

1709541132_65e5870c0039d98216a37.png!small?1709541132271

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

1709541144_65e587185c2626fa86dc3.png!small?1709541144958

审计第三方组件 pom.xml

fastjson
mybatis
shiro
log4j

4.1.fastjson代码审计

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

1709541309_65e587bd7482ca28d7989.png!small?1709541309853

全局搜索

parse(
parseObject(

1709541351_65e587e75c14bdbd31d6c.png!small?1709541351401

1709541359_65e587ef68c6ce63a2dc6.png!small?1709541359483

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

4.2验证码绕过

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

1709541409_65e58821149911e036f63.png!small?1709541409238

难道就不能爆破了吗?

这里使用burp抓包测试

1709541426_65e588324100736b2d698.png!small?1709541426762

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

抓包,尝试爆破

1709541457_65e5885193151564f857c.png!small?1709541457840

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

源码分析

1709541485_65e5886d3ae1ac570e171.png!small?1709541486099

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

4.3sql注入 

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

${

1709541525_65e58895dfe90b8dc4c95.png!small?1709541526024

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

1709541545_65e588a970f42994b576e.png!s

可试读前30%内容
¥ 9.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# web安全 # 漏洞挖掘 # 代码审计 # Java代码审计 # JAVA安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 derian 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
derian LV.2
有问题请私信
  • 1 文章数
  • 22 关注者
文章目录