購物網站代碼審計
開發架構的審計無非是對代碼中引入的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,如下圖:
這個工具裡面主要依賴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
輸出的檢查報告:
下面每個版本的漏洞都會有版本的區間的描述
比如CVE-2019-17571漏洞版本在1.2-1.2.17之間
當然了,如果你是離線審計,也可以将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庫