【开源】基于JAVA语言的木马文件检测系统

在这里插入图片描述
项目编号: 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. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一次整活,暴涨1100万播放!B站内容风向吹到哪了?

高能整活&#xff0c;千万曝光 “我准备打造一个钢铁的地下安全屋。” B站UP主手工耿近期整了一个大活&#xff0c;脑洞大到让B站用户不停地惊掉下巴。 UP主手工耿在B站拥有776.7万粉丝&#xff0c;一直以来以制造一些“看起来没用”的电焊工艺产品为内容看点&#xff0c;灵…

IO多路复用(新)

1.前景回顾 无论是阻塞IO还是非阻塞IO&#xff0c;用户应用在一阶段都需要调用recvfrom来获取数据&#xff0c;差别在于无数据时的处理方案&#xff1a; 如果调用recvfrom时&#xff0c;恰好内核没有数据&#xff0c;那么阻塞IO会使用户进程阻塞&#xff0c;非阻塞IO使CPU进行空…

C语言面试之旅:掌握基础,探索深度(面试实战之单片机——IO)

梦想和自由一样&#xff0c;都有代价&#xff0c;但都值得。 ----小新 引言 单片机是一种微控制器&#xff0c;它包含一个处理器、存储器、定时器和I/O端口等。I/O端口是单片机与外部设备进行通信的接口。通过I/O端口&#xff0c;外部设备可以输入和输出数据到单片机中。 在单…

华为对优秀项目经理的三点要求

大家好&#xff0c;我是老原。 一位优秀的项目经理应该肩负什么样的职责和使命&#xff1f; 华为轮值董事长徐直军在《致研发全体PL的一封信》中表示&#xff1a;Project Leader&#xff08;项目经理&#xff09;要从一个独立贡献者转变成为团队贡献者&#xff0c;项目经理带…

【从零认识ECS云服务器 | 快速上线个人网站】二、使用ECS云服务器

第二章 使用ECS 2.1 获取ECS 方式一&#xff1a;通过试用中心免费领取ECS实例 满足以下全部条件的阿里云用户&#xff0c;可免费试用云服务器ECS&#xff1a; 阿里云注册会员用户并完成阿里云企业认证或个人认证用户。申请用户是云服务器ECS产品的新用户&#xff0c;可以申…

电源滤波器如何检测?ATECLOUD-POWER电源自动测试软件如何助力?

电源滤波器常用来对电源中的纹波和干扰信号进行滤波&#xff0c;从而确保元器件不受损坏&#xff0c;是保证系统稳定性的重要方法。因此电源滤波器测试是非常重要的&#xff0c;通过检测来评估其质量、性能和稳定性&#xff0c;从而使电源滤波器可以稳定工作&#xff0c;进行滤…

UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)

UniApp 运行到浏览器的时候&#xff0c;接口会跨域报错&#xff0c;这里通过两种方式解决&#xff0c;第一&#xff1a;修改Uniapp自带的manifest.json 源码视图并进行配置h5设置。第二&#xff1a;在项目根目录新建vue.config.js并配置代理。 二选一即可。 修改或调整配置文件…

[实践总结] Java中读取properties配置文件

读取此key.properties文件 代码实现 import java.io.IOException; import java.io.InputStream; import java.util.Properties;public class PropertyUtils {private static final Properties properties new Properties();static {try (InputStream resourceAsStream Prope…

React--引入第三方插件时,标签名是小写报错问题

报错信息 报错原因 1.组件名得大写 2.缺少 import 语句 解决方案 declare global{namespace JSX{interface IntrinsicElements {micro-app: any}} }

istio为什么能代替传统的SpringCloud 服务网格Istio概述

服务网格Istio概述 什么是服务网格(Service Mesh)&#xff1f;istio简介边车模式&#xff08;Sidecar&#xff09;为什么istio能代替传统SpringCloud&#xff1f;整体架构 首先奉上 istio官网 什么是服务网格(Service Mesh)&#xff1f; 服务网格详解 服务网格&#xff08;Se…

SL4010升压恒压控制器芯片 2.5V启动 最大10A电流 支持300W大功率

SL4010是一款升压恒压控制器芯片&#xff0c;它具有2.5V启动、最大10A电流、支持300W大功率等特点。该芯片采用先进的控制技术&#xff0c;能够实现高效的电能转换&#xff0c;同时保持稳定的输出电压和电流。 SL4010芯片的主要功能是将输入的直流电压升高到所需的电压&#xf…

Http中post和get

get产生一个tcp数据包&#xff0c;服务器只响应一次&#xff0c;而post请求服务器会响应两次&#xff08;第一次发送请求头响应100&#xff0c;再次响应返回200&#xff0c;成功

配置主机与外网时间服务器同步时间

目录 NTP服务简介 时间管理命令 第一步&#xff1a;更改当前主机所在地的时间 方法一&#xff1a;使用tzselect命令查询需要的时区 1、使用tzselect命令查询需要的时区 2、添加变量到 ~/.bash_profile 文件中&#xff0c;即追加类似的内容&#xff1a; 3、重新连接一个…

HashMap系列-放入元素的流程

1.put public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable {//通过key生成hash后&#xff0c;调用putVal方法public V put(K key, V value) {return putVal(hash(key), key, value, false, true);} } 2.put…

【沐风老师】3DMAX切片工具插件安装使用方法详解

3DMAX切片工具安装使用方法 3DMAX切片工具&#xff0c;该工具沿世界坐标轴以规则的间隔对对象进行切片处理。例如&#xff0c;对于快速均匀细分复杂网格、顶点绘制或应用“弯曲”修改器非常有用。 【适用版本】 3dMax2016 - 2023&#xff08;不仅限于此范围&#xff09; 【安装…

【MATLAB源码-第96期】基于simulink的光伏逆变器仿真,光伏,boost,逆变器(IGBT)。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 光伏单元&#xff08;PV Cell&#xff09; 工作原理&#xff1a;光伏单元通过光电效应将太阳光转换为直流电。它们的输出取决于光照强度、单元温度和负载条件。Simulink建模&#xff1a;在Simulink中&#xff0c;光伏单元…

AHB 与 DMA

AHB&#xff08;先进高性能总线&#xff09; 随着深亚微米工艺技术日益成熟&#xff0c;集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法&#xff0c;发展到基于IP核复用的设计方法&#xff0c;并在SOC设计中得到了广泛应用。在基于IP核复用的SoC&#xff08;Syst…

【EI会议征稿中】第三届光学与机器视觉国际学术会议(ICOMV 2024)

第三届光学与机器视觉国际学术会议(ICOMV 2024) 2024 3rd International Conference on Optics and Machine Vision 第三届光学与机器视觉国际学术会议(ICOMV 2024)将于2024年1月19-21日在中国南昌举行。本次会议将围绕“光学”与"机器视觉”等研究领域展开讨论&#xf…

品牌咨询策划服务预约小程序作用是什么

对很多行业公司来说&#xff0c;想要在竞争激烈的市场中生存和长期发展&#xff0c;就需要不断完善自身服务和信息流程、规范化。品牌咨询策划公司是企业发展中重要的合作伙伴。 二者都有寻找对方的需求&#xff0c;尤其是对咨询策划公司来说需要不断宣传推广品牌和服务来获得…

【Pytorch】理解自动混合精度训练

【Pytorch】理解自动混合精度训练 混合精度概述 实验对比 更大的深度学习模型需要更多的计算能力和内存资源。一些新技术的提出&#xff0c;可以更快地训练深度神经网络。我们可以使用 FP16&#xff08;半精度浮点数格式&#xff09;来代替 FP32&#xff08;全精度浮点数格式…