基于若依框架的Shiro反序列化漏洞分析与利用

一、若依框架简介

若依是一个Java EE企业级快速开发平台,采用经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf、Bootstrap),内置了多个常用模块,如部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、通知公告等。其特点包括在线定时任务配置、集群支持、多数据源支持以及分布式事务。

二、若依框架后台弱口令

通过常见的弱口令漏洞,我们可以轻易地进入若依框架的后台系统,进而对系统进行进一步的操作,构成潜在的安全风险。

2.1 测绘指纹

在FOFA上,使用语法 app="若依-管理系统" && body=" admin " 可以查找到使用若依框架的网站,并且常见的后台登录页面会有一个 admin 的账号。

图片[1]-基于若依框架的Shiro反序列化漏洞分析与利用-山海云端论坛

登录成功后,我们可以进入后台管理界面。

图片[2]-基于若依框架的Shiro反序列化漏洞分析与利用-山海云端论坛

2.2 漏洞检测

  1. 鉴于若依框架基于 Spring 和 Shiro,我们可以尝试利用 Shiro 反序列化漏洞。在请求数据包中检查关键字段 rememberMe,如果网站使用了 Shiro 组件,我们可以手动添加 rememberMe=1 到请求包的 cookie 中进行测试。
  2. 如果返回包中含有 Set-Cookie: rememberMe=deleteMe,则证明网站可能使用了 Shiro 框架,并且我们还可以获取到默认的 key 值。

三、Shiro反序列化漏洞分析

3.1 Shiro简介

Apache Shiro 是一个Java安全框架,提供身份验证、授权、密码和会话管理等功能。

3.2 漏洞原理

Shiro 框架提供了 “RememberMe” 的功能,用户登录成功后会生成加密并编码的 cookie。在服务端接收 cookie 时,会进行解析处理。但是在反序列化操作时,未进行任何过滤处理,导致可能触发远程代码执行漏洞。

3.3 漏洞风险

攻击者可以利用 Shiro 的默认密钥构造恶意序列化对象进行编码,伪造用户的 Cookie,从而触发服务端的反序列化漏洞,导致执行恶意命令。

3.4 漏洞利用

利用工具进行 Shiro 漏洞利用,可以构造恶意链,执行命令或者进行内存马操作,获取对方系统权限。

图片[3]-基于若依框架的Shiro反序列化漏洞分析与利用-山海云端论坛

以上是对若依框架中 Shiro 反序列化漏洞的详细分析与利用过程。这一漏洞的存在提醒我们在使用 Shiro 框架时要注意相关安全配置,以免被攻击者利用。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容