购物网站代码审计
开发框架的审计无非是对代码中引入的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库
注意,如果执行命令失败,重新执行一次就OK!
如需要更多干货可以关注公众号: