RuoYi 4.3.1 发布,请及时更换默认秘钥
若依管理系统 v4.3.1 已发布,更新日志:
- 国家信息安全漏洞(防止命令执行漏洞,请务必保持cipherKey密钥唯一性)
- 升级shiro到最新版1.5.3 阻止权限绕过漏洞
- 修改验证码在使用后清除,防止多次使用
- 检查字符支持小数点&降级改成异常提醒
- openOptions函数中加入自定义maxmin属性
- 支持openOptions方法最大化
- 支持openOptions方法多个按钮回调
- 新增isLinkage支持页签与菜单联动
- 修改代码生成导入表结构出现异常页面不提醒问题
- 优化用户头像发生错误,则显示一个默认头像
- Excel导出支持字典类型
- 命令执行漏洞
RuoYi <= v4.3.0
若依管理系统使用了Apache Shiro,Shiro 提供了记住我(RememberMe)的功能,下次访问时无需再登录即可访问。系统将密钥硬编码在代码里,且在官方文档中并没有强调修改该密钥,导致框架使用者大多数都使用了默认密钥。攻击者可以构造一个恶意的对象,并且对其序列化、AES加密、base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞,进而在目标机器上执行任意命令。
检测漏洞:ShiroConfig.java
是否包含 fCq+/xW488hMTCD+cmJ3aQ==
,如果是使用的默认密钥则需要修改,防止被执行命令攻击。
解决方案:升级版本到 >=v.4.3.1
,并且重新生成一个新的秘钥替换cipherKey
,保证唯一且不要泄漏。
# Shiro shiro: cookie: # 设置密钥,务必保持唯一性(生成方式,直接拷贝到main运行即可)KeyGenerator keygen = KeyGenerator.getInstance("AES"); SecretKey deskey = keygen.generateKey(); System.out.println(Base64.encodeToString(deskey.getEncoded())); cipherKey: zSyK5Kp6PZAAjlT+eeNMlg==
// 直接拷贝到main运行即可生成一个Base64唯一字符串 KeyGenerator keygen = KeyGenerator.getInstance("AES"); SecretKey deskey = keygen.generateKey(); System.out.println(Base64.encodeToString(deskey.getEncoded()));
- SQL注入攻击
RuoYi <= v3.2.0
若依管理系统使用了PageHelper,PageHelper提供了排序(Order by)的功能,前端直接传参完成排序。系统没有做字符检查,导致存在被注入的风险,最终造成数据库中存储的隐私信息全部泄漏。
检测漏洞:BaseController.java
是否包含 String orderBy = pageDomain.getOrderBy();
,如果没有字符检查需要修改,防止被执行注入攻击。
解决方案:升级版本到 >=v.3.2.0
,或者重新添加字符检查String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
,防止注入绕过。
package com.ruoyi.common.utils.sql; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.StringUtils; /** * sql操作工具类 * * @author ruoyi */ public class SqlUtil { /** * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序) */ public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+"; /** * 检查字符,防止注入绕过 */ public static String escapeOrderBySql(String value) { if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value)) { throw new BaseException("参数不符合规范,不能进行查询"); } return value; } /** * 验证 order by 语法是否符合规范 */ public static boolean isValidOrderBySql(String value) { return value.matches(SQL_PATTERN); } }
- Shiro阻止权限绕过漏洞
RuoYi <= v4.3.0
Shiro < 1.5.2 版本存在一处权限绕过漏洞,当受影响版本的Shiro框架结合Spring dynamic controllers使用时,未经授权的远程攻击者可以通过精心构造的请求包进行权限绕过,可能造成鉴权系统失效以及后台功能暴露。
检测漏洞:pom.xml
Shiro <=1.5.2
则版本存在漏洞。
解决方案:升级版本到 >=1.5.3
。
- Fastjson高危漏洞
RuoYi <= v4.2.0
Fastjson < 1.2.68 版本存在一处反序列化漏洞,主要为autoType开关绕过的反序列化漏洞利用,恶意攻击者可以通过该漏洞绕过autoType限制实现远程代码执行攻击,从而获取目标系统管理权限,建议尽快更新漏洞修复版本或采用临时缓解措施加固系统。
检测漏洞:pom.xml
Fastjson <=1.2.68
则版本存在漏洞。
解决方案:升级版本到 >=1.2.70
。
注意
若依平台的默认口令 admin/admin123,请大家在线上环境一定要修改超级管理员的密码。
SysPasswordService.encryptPassword(String username, String password, String salt)
直接到main运行此方法,填充账号密码及盐(保证唯一),生成md5加密字符串。
内置功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
14. 系统接口:根据业务代码自动生成相关的api接口文档。
15. 服务监控:监视当前系统 CPU、内存、磁盘、堆栈等相关信息。
16. 在线构建器:拖动表单元素生成相应的HTML代码。
17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
系统演示 http://www.ruoyi.vip
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
云办公系统 skyeye v3.2.3 发布,ERP 生产模块
云办公系统skyeye v3.2.3发布。 开源版地址:https://gitee.com/doc_wei01/skyeye 项目开发计划:https://docs.qq.com/doc/DQlRxcVRMWWVjbU1i?_from=1&disableReturnList=1,有问题可以联系作者 更新内容: 计划管理(包含个人,部门以及公司计划)同步到日程,方便在日程查看自己的工作 学校模块题库功能完成 生产模块新增部门库存管理 生产模块新增加工单管理 生产模块新增领料单管理 生产模块新增补料单管理 生产模块新增退料单管理 工作流新建流程样式修改 效果图: 效果图 效果图
- 下一篇
Edge 浏览器 Dev, Beta 和 Stable 通道版本停更两周
Microsoft Edge 团队的项目经理周四宣布,为了与Chromium 项目的发布时间表保持一致,在接下来的两周内将暂停 Dev, Beta 和 Stable 通道版本的更新。 Canary 通道版本不受影响,会继续在工作日中获得更新。更新节奏将会在7月13日回归正常,Dev 通道版本恢复周更,Beta 通道恢复每六周更新一次。 虽然微软暂停了 Microsoft Edge 的更新,但用户依然可以在推特上私信 @MSEdgeDev或者在论坛上留言发表自己的反馈和建议。如果希望反馈 bug,依然可以通过浏览器内置的反馈工具进行提交。(导航到“...”菜单>“帮助和反馈”>“发送反馈”,或者按住 Shift+Alt+I)。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器