【开源】基于Vue和SpringBoot的木马文件检测系统

在这里插入图片描述

项目编号: S 041 ,文末获取源码。 \color{red}{项目编号:S041,文末获取源码。} 项目编号:S041,文末获取源码。


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 数据中心模块
    • 2.2 木马分类模块
    • 2.3 木马软件模块
    • 2.4 安全资讯模块
    • 2.5 脆弱点模块
    • 2.6 软件检测模块
  • 三、系统设计
    • 3.1 用例设计
    • 3.2 数据库设计
      • 3.2.1 木马分类表
      • 3.2.2 木马软件表
      • 3.2.3 资讯表
      • 3.2.4 脆弱点表
      • 3.2.5 软件检测表
  • 四、系统实现
  • 五、核心代码
    • 5.1 查询木马分类
    • 5.2 查询木马文件
    • 5.3 新增软件检测
    • 5.4 查询脆弱点
    • 5.5 新增安全资讯
  • 六、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的木马文件检测系统,包含了木马类型、木马软件档案、安全资讯、软件脆弱点、软件检测模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,木马文件检测系统基于角色的访问控制,给软件管理员、普通用户使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏

源码下载


二、功能模块

木马是网站开发者与网站管理员所烦恼却难以清除的木马,在当前,还没有一个杀毒软件或者是检测软件能够准确的标记出木马的位置并将其清除,所以开发一套自动检测木马的软件很有意义,可以为管理员对网站的维护节约大量的时间和精力.这样的软件应该被大多数网站管理员所接受并使用,这套系统为网站的安全性增添了一项保障。

在这里插入图片描述

木马文件检测系统的功能性需求主要包含数据中心模块、木马分类模块、木马软件模块、安全资讯模块、脆弱点模块和软件检测模块这五大模块,系统是基于浏览器运行的web管理后端,其中各个模块详细说明如下:

2.1 数据中心模块

数据中心模块包含了木马文件检测系统的系统基础配置,如登录用户的管理、运营公司组织架构的管理、用户菜单权限的管理、系统日志的管理、公用文件云盘的管理。
其中登录用户管理模块,由管理员负责运维工作,管理员可以对登录用户进行增加、删除、修改、查询操作。
组织架构,指的是高校的组织架构,该模块适用于管理这些组织架构的部门层级和教师的部门归属情况。
用户菜单权限管理模块,用于管理不同权限的用户,拥有哪些具体的菜单权限。
系统日志的管理,用于维护用户登入系统的记录,方便定位追踪用户的操作情况。
公用云盘管理模块,用于统一化维护木马文件检测系统中的图片,如合同签订文件、合同照片等等。

2.2 木马分类模块

不同的木马有着不同的类型,不同类型的木马需要采用不同的方式去检测,所以需要建立木马分类模块,木马分类的数据包括类型名称、类型状态、排序值、备注、创建人、创建时间、更新人、更新时间,管理员可以新增、删除、编辑和条件查询木马类型数据,用户可以查询管理员发布的木马类型数据。

2.3 木马软件模块

木马是木马文件检测系统的核心,所以需要建立木马软件模块,木马软件的数据包括软件名称、软件描述、软件类型、文件、创建人、创建时间、更新人、更新时间,管理员和用户都可以新增、删除、编辑和条件查询木马数据。

2.4 安全资讯模块

安全资讯模块是用于将有关于木马安全防范的加以存档,由管理员定期维护。安全资讯的字段包括资讯标题、资讯内容、状态、排序值、发布人、发布时间、更新人、更新时间,管理员可以新增、删除、编辑和条件查询安全资讯数据,用户可以查询管理员发布的安全资讯数据。

2.5 脆弱点模块

木马不是凭空产生的,当软件有了脆弱点之后,木马才能乘虚而入,所以需要对软件的脆弱点进行管理。脆弱点字段包括脆弱点名称、脆弱点介绍、状态、备注、创建人、创建时间、更新人、更新时间,管理员可以新增、删除、编辑和条件查询脆弱点数据,用户可以查询管理员发布的脆弱点数据。

2.6 软件检测模块

软件检测室木马文件检测系统的核心业务,软件检测字段包括软件ID、软件名称、软件介绍、提交人、检测状态、过程报告、软件漏洞、检测人,用户可以发起软件检测申请,管理员对软件进行检测反馈,上传过程包括和复现软件漏洞。


三、系统设计

3.1 用例设计

UML是面向对象的图形化建模语言,具有表示容易,定义友好,适用范畴广泛,功能强大。用例图是用例模型的一种,需求分析人员可采用用例图表示用户操作行为。木马文件检测系统的用例图设计主要包括用户用例设计和管理员用例设计。

在这里插入图片描述

3.2 数据库设计

3.2.1 木马分类表

在这里插入图片描述

3.2.2 木马软件表

在这里插入图片描述

3.2.3 资讯表

在这里插入图片描述

3.2.4 脆弱点表

在这里插入图片描述

3.2.5 软件检测表

在这里插入图片描述


四、系统实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、核心代码

5.1 查询木马分类

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询木马分类")
public Result<IPage<TrojansType>> getByPage(@ModelAttribute TrojansType trojansType ,@ModelAttribute PageVo page){QueryWrapper<TrojansType> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(trojansType.getTitle())) {qw.like("title",trojansType.getTitle());}if(!ZwzNullUtils.isNull(trojansType.getStatus())) {qw.eq("status",trojansType.getStatus());}IPage<TrojansType> data = iTrojansTypeService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<TrojansType>>().setData(data);
}

5.2 查询木马文件

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询木马文件")
public Result<IPage<Trojans>> getByPage(@ModelAttribute Trojans trojans ,@ModelAttribute PageVo page){QueryWrapper<Trojans> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(trojans.getTitle())) {qw.like("title",trojans.getTitle());}if(!ZwzNullUtils.isNull(trojans.getType())) {qw.like("type",trojans.getType());}IPage<Trojans> data = iTrojansService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Trojans>>().setData(data);
}

5.3 新增软件检测

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增软件检测")
public Result<Check> insert(Check check){Trojans trojans = iTrojansService.getById(check.getTrojansId());if(trojans == null) {return ResultUtil.error("软件不存在");}check.setTrojansName(trojans.getTitle());check.setTrojansContent(trojans.getContent());User currUser = securityUtil.getCurrUser();check.setUserId(currUser.getId());check.setUserName(currUser.getNickname());check.setStatus("未检测");check.setAns("");check.setVulnerability("");check.setWorkId("");check.setWorkName("");check.setWorkTime("");iCheckService.saveOrUpdate(check);return new ResultUtil<Check>().setData(check);
}

5.4 查询脆弱点

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询脆弱点")
public Result<IPage<Vulnerability>> getByPage(@ModelAttribute Vulnerability vulnerability ,@ModelAttribute PageVo page){QueryWrapper<Vulnerability> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(vulnerability.getTitle())) {qw.like("title",vulnerability.getTitle());}if(!ZwzNullUtils.isNull(vulnerability.getContent())) {qw.like("content",vulnerability.getContent());}IPage<Vulnerability> data = iVulnerabilityService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Vulnerability>>().setData(data);
}

5.5 新增安全资讯

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增安全资讯")
public Result<News> insert(News news){User currUser = securityUtil.getCurrUser();news.setSendUser(currUser.getNickname());news.setSendTime(DateUtil.now());iNewsService.saveOrUpdate(news);return new ResultUtil<News>().setData(news);
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/219103.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法萌新闯力扣】:卡牌分组

力扣热题&#xff1a;卡牌分组 一、开篇 今天是备战蓝桥杯的第22天。这道题触及到我好几个知识盲区&#xff0c;以前欠下的债这道题一并补齐&#xff0c;哈希表的遍历、最大公约数与最小公倍数&#xff0c;如果你还没掌握&#xff0c;这道题练起来&#xff01; 二、题目链接:…

Vue3的计算属性(computed)和监听器(watch)案例语法

一&#xff1a;前言 Vue3 是 Vue2 的一个升级版&#xff0c;随着 2023年12月31日起 Vue2 停止维护。这意味着 Vue3 将会为未来国内一段时间里&#xff0c;前端的开发主流。因此熟练的掌握好 Vue3 是前端开发程序员所不可避免的一门技术栈。而 Vue3 是 Vue2 的一个升级版&#x…

学生信息管理系统程序Python

系统主界面 在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时&#xff0c;有两种方法&#xff0c; 一种是输入1&#xff0c;另一种是按下键盘上的↑或↓方向键进行选择。这两种方法的结果是一样的&#xff0c;所以使用哪种方法都可以。 &#xff08;…

基于springboot+Web实现社区医院管理服务系统项目【项目源码+论文说明】计算机毕业设计

基于springbootWeb实现社区医院管理服务系统演示 摘要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括社区医院管理服务系统的网络应用&#xff0c;在外国线上管理系统已经是很普遍的方式&#xff0c;不过国内的管理系统可…

LCM-LoRA模型推理简明教程

潜在一致性模型 (LCM) 通常可以通过 2-4 个步骤生成高质量图像&#xff0c;从而可以在几乎实时的设置中使用扩散模型。 来自官方网站&#xff1a; LCM 只需 4,000 个训练步骤&#xff08;约 32 个 A100 GPU 小时&#xff09;即可从任何预训练的稳定扩散 (SD) 中提取出来&#…

【Kotlin】引入与基础语法

文章目录 Kotlin的特性Kotlin优势Kotlin的安卓项目变量变量保存了指向对象的引用优先使用val来避免副作用 后端变量Backing Fields延迟初始化 Kotlin的特性 它更加易表现&#xff1a;这是它最重要的优点之一。你可以编写少得多的代码。Kotlin是一种兼容Java的语言Kotlin比Java…

五种多目标优化算法(MSSA、MOAHA、MOPSO、NSGA3、NSGA2)求解微电网多目标优化调度(MATLAB)

一、多目标优化算法简介 &#xff08;1&#xff09;多目标鳟海鞘算法MSSA 多目标优化算法&#xff1a;多目标鳟海鞘算法&#xff08;Multi-objective Salp Swarm Algorithm &#xff0c;MSSA&#xff09;-CSDN博客 参考文献&#xff1a; S. Mirjalili, A.H. Gandomi, S.Z. M…

Redis-缓存设计

缓存穿透 缓存穿透是指查询一个根本不存在的数据&#xff0c; 缓存层和存储层都不会命中&#xff0c; 通常出于容错的考虑&#xff0c; 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询&#xff0c; 失去了缓存保护后端存储的…

Matplotlib网格子图_Python数据分析与可视化

Matplotlib网格子图 plt.subplot()绘制子图调整子图之间的间隔plt.subplots创建网格 plt.subplot()绘制子图 若干彼此对齐的行列子图是常见的可视化任务&#xff0c;matplotlib拥有一些可以轻松创建它们的简便方法。最底层且最常用的方法是plt.subplot()。 这个函数在一个网格…

Unsupervised MVS论文笔记(2019年)

Unsupervised MVS论文笔记&#xff08;2019年&#xff09; 摘要1 引言2 相关工作3 实现方法3.1 网络架构3.2 通过光度一致性学习3.3 MVS的鲁棒光度一致性3.4 学习设置和实施的细节3.5.预测每幅图像的深度图 4 实验4.1 在DTU上的结果4.2 消融实验4.3 在ETH3D数据集上的微调4.4 在…

Pinctrl子系统和GPIO子系统

Pinctrl子系统&#xff1a; 借助Princtr子系统来设置一个Pin的复用和电气属性&#xff1b; pinctrl子系统主要做的工作是&#xff1a;1. 获取设备树中的PIN信息&#xff1b;2.根据获取到的pin信息来设置的Pin的复用功能&#xff1b;3.根据获取到的pin信息去设置pin的电气特性…

【STM32】新建工程

学习来源&#xff1a;[2-2] 新建工程_哔哩哔哩_bilibili 目前STM32的开发主要有基于寄存器的开发方式、基于标准库也就是库函数的方式和基于HAL库的方式。本学习是基于库函数的方式。&#xff08;各种资料去百度云下载&#xff09; 1 建立工程文件夹 Keil中新建工程&#xf…