項目編號: 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 留言,看到后會第一時間回復,相關意見會酌情考慮,但沒有一定被采納的承諾或保證。
下載本系統代碼或使用本系統的用戶,必須同意以下內容,否則請勿下載!
- 出于自愿而使用/開發本軟件,了解使用本軟件的風險,且同意自己承擔使用本軟件的風險。
- 利用本軟件構建的網站的任何信息內容以及導致的任何版權糾紛和法律爭議及后果和博主無關,博主對此不承擔任何責任。
- 在任何情況下,對于因使用或無法使用本軟件而導致的任何難以合理預估的損失(包括但不僅限于商業利潤損失、業務中斷與業務信息丟失),博主概不承擔任何責任。
- 必須了解使用本軟件的風險,博主不承諾提供一對一的技術支持、使用擔保,也不承擔任何因本軟件而產生的難以預料的問題的相關責任。