代码审计之若依系统


前言

      若依是一套全部开源的快速开发平台,在日常工作中也会遇到很多若依搭建的网站,或者基于若依二开的网站,因为是以学习为目的,所以选择低版本下载,未选择最高版本,本文搭建版本是4.6.0版本,源码可以访问链接下载:https://gitee.com/y_project/RuoYi/releases。


一、本地项目部署

     1)项目下载完解压后为下图所示:
在这里插入图片描述
     2)因为该框架采用了SpringBoot,所以只需要导入数据库即可。本文项目使用phpstudy开启mysql5。
在这里插入图片描述
     3)连接数据库。
在这里插入图片描述
     4)创建ruoyi数据库并使用。
在这里插入图片描述
     5)将sql文件夹中的quartz.sql和ry_20201214.sql两个文件导入到ruoyi数据库中,注意使用正斜杠。
在这里插入图片描述
在这里插入图片描述
     6)使用IDEA打开若依系统,等待Maven自动加载依赖项,如果pom.xml文件有报错,依赖未成功安装,可如下图查看maven配置如何,可能是没有配置好maven环境。
在这里插入图片描述
     7)项目结构如下所示:
在这里插入图片描述
     8)若依模块简述。

模块名称 简述
ruoyi-admin 启动模块,启动配置在resource的yml下
ruoyi-framework 主题框架模块,框架怎么运行的仔细看看,这个是核心重点
ruoyi-system 业务模块,几乎所有业务都在这里
ruoyi-quartz 定时任务模块,跑的定时任务基本都在这里
ruoyi-generator 基础公共表的操作,相当于基础表和基础业务存放位置
ruoyi-common 公共代码模块,list转set什么的一般放这里,自己不要瞎写方法,公共的都放这里

     9)配置若依系统。
在这里插入图片描述
     10)在application.yml中路径可自己修改,端口也是可以修改,嫌麻烦默认也可以。
在这里插入图片描述
     11)在application-druid.yml中配置数据库账号密码还有把3306后边的 ry 改成 ruoyi,因为刚刚创建数据库的名字是ruoyi。
在这里插入图片描述
     12)启动项目。
在这里插入图片描述
     13)访问项目,本文项目地址为:http://127.0.0.1:25001/login,若依系统的账号密码为:admin/admin123 或 ry/admin123,若依系统默认是记住账号口令,所以搭建完成时最好记得删除,否则可能就会有人报漏洞了!!!
在这里插入图片描述

二、漏洞挖掘

1.整理思路

     由于是菜鸟,所以目前对采用sprintboot框架审计的思路是,先看pom.xml文件看看是否存在有漏洞的组件,然后可以再去系统的功能点做黑盒测试,在看代码片段。

2.shiro反序列化漏洞

     1)发现shiro组件,shiro常见的两个漏洞:一个是默认秘钥,一个是权限绕过。
      AES秘钥在1.2.4版本及之前版本是硬编码在代码里的,可以通过GitHub开源的shiro代码获取AES密钥。1.2.5版本以后shiro提供了AES密钥的随机生成代码,但是如果仅进行shiro的版本升级,AES密钥仍硬编码在代码中,仍然会存在反序列化风险。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值