天天看點

Javaweb中jar包等第三方架構自動化審計

​​​​購物網站代碼審計​​

開發架構的審計無非是對代碼中引入的jar包進行審計,其實這個審計可以認為是一種靜态的審計方法,也就是對jar包版本号的審計,這裡分兩種情況1、直接對jar包掃描 2、maven架構下的審計

1、直接對jar包掃描

說到掃描,就不得不說工具,對jar包直接的掃描推薦大家使用Dependency-Check工具,他是一個開源的程式,主要用于識别項目依賴項并檢查是否存在已知的,公開披露的漏洞,目前支援Java、.NET、Ruby、Node.js、Python等語言。

下載下傳方式:

Dependency-Check工具下載下傳位址​​https://owasp.org/www-project-dependency-check/​​,在右側選擇command line,如下圖:

Javaweb中jar包等第三方架構自動化審計

這個工具裡面主要依賴NVD漏洞資料庫(美國國家通用資料庫)

使用方法:

解壓後進入bin檔案,在win系統下執行下面指令

dependency-check.bat --disableRetireJS --disableNodeJS --project test -s D:\checkjar-o D:\report\

其中:

-project代表工程名

–s代表檢查的jar封包件夾,把需要檢查的jar包放到該目錄下即可

–o代表報表輸出的路徑

--disableRetireJS不檢查js,

--disableNodeJS不檢查nodejs

Javaweb中jar包等第三方架構自動化審計

輸出的檢查報告:

Javaweb中jar包等第三方架構自動化審計

下面每個版本的漏洞都會有版本的區間的描述

比如CVE-2019-17571漏洞版本在1.2-1.2.17之間

Javaweb中jar包等第三方架構自動化審計

當然了,如果你是離線審計,也可以将NVD庫搭建到本地,這樣就會更加的友善,搭建方法:

我們可以在本地搭建一個NVD庫來提高更新效率,

具體可以參考​​https://jeremylong.github.io/DependencyCheck/data/mirrornvd.html​​

使用本地nvd庫,具體指令如下:

dependency-check.bat

--cveUrlModified 本地nvd庫的url/nvdcve-1.1-modified.json.gz

--cveUrlBase本地nvd庫的url/nvdcve-1.1-2020.json.gz

--project test -s D:\checkjar\ -oD:\report\

其中–cveUrlModified和–cveUrlModified指定本地NVD庫

繼續閱讀