RuoYi 4.5.1 发布,阻止任意文件下载漏洞

栏目: 软件资讯 · 发布时间: 5年前

内容简介:若依管理系统 v4.5.1 已发布,更新日志: 阻止任意文件下载漏洞 升级shiro到最新版1.7.0 阻止权限绕过漏洞 升级druid到最新版本v1.2.2 新增表格行触发事件(onCheck、onUncheck、onCheckAll、onUncheckAll) 修复...

若依管理系统 v4.5.1 已发布,更新日志:

  • 阻止任意文件下载漏洞
  • 升级shiro到最新版1.7.0 阻止权限绕过漏洞
  • 升级druid到最新版本v1.2.2
  • 新增表格行触发事件(onCheck、onUncheck、onCheckAll、onUncheckAll)
  • 修复多页签关闭非当前选项出现空白问题
  • 代码生成预览支持高亮显示
  • mapperLocations配置支持分隔符
  • 权限信息调整
  • 个人中心头像和上传头像增加默认图片
  • 全局配置类保持和其他应用命名相同
  • 任意文件下载漏洞 RuoYi <= v4.5.0

任意文件下载漏洞,正常的利用手段是下载服务器文件,如脚本代码,服务器配置或者是系统配置等等。可以利用../来逐层猜测路径。

网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。

检测漏洞:CommonController.java/common/download/resource接口是否包含checkAllowDownload用于检查文件是否可下载,如果没有此方法需要修改,防止被下载关键信息。

解决方案:升级RuoYi版本到 >=4.5.1,或者重新添文件下载检查,防止任意文件下载。

/**
 * 本地资源通用下载
 */
@GetMapping("/common/download/resource")
public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
		throws Exception
{
	try
	{
		if (!FileUtils.checkAllowDownload(resource))
		{
			throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
		}
		// 本地资源路径
		String localPath = Global.getProfile();
		// 数据库资源地址
		String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
		// 下载名称
		String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
		response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
		FileUtils.setAttachmentResponseHeader(response, downloadName);
		FileUtils.writeBytes(downloadPath, response.getOutputStream());
	}
	catch (Exception e)
	{
		log.error("下载文件失败", e);
	}
}

/**
 * 检查文件是否可下载
 * 
 * @param resource 需要下载的文件
 * @return true 正常 false 非法
 */
public static boolean checkAllowDownload(String resource)
{
	// 禁止目录上跳级别
	if (StringUtils.contains(resource, ".."))
	{
		return false;
	}

	// 检查允许下载的文件规则
	if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource)))
	{
		return true;
	}

	// 不在允许下载的文件规则
	return false;
}

内置功能

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

RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞
RuoYi 4.5.1 发布,阻止任意文件下载漏洞 RuoYi 4.5.1 发布,阻止任意文件下载漏洞

以上所述就是小编给大家介绍的《RuoYi 4.5.1 发布,阻止任意文件下载漏洞》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

结网

结网

王坚 / 人民邮电出版社 / 2010-4 / 55.00元

本书作者一直从事互联网产品的研究和实战,经验丰富,同时作为导师,指导了大量优秀的产品经理,本书的内容也是作者8年来培养产品经理新兵的经验集萃。如果你缺乏培养产品经理的教材,本书正好总结了产品经理知识体系,无疑是你很好的选择。 本书覆盖了相当全面的互联网知识,对于想要了解互联网行业或想要借助互联网进行营销的人来说,都是很好的入门读物。 本书并不是一本完善的互联网创业指南,而是写给胸怀互联......一起来看看 《结网》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具