vulnDBGen安装与使用

vulnDBGen安装与使用

1、使用前注意事项

(1)linux系统能联网
(2)安装openjdk(根据不同linux操作系统在网上查找安装指令)

// 安装OpenJDK8
sudo apt-get install openjdk-8-jdk
// 配置Java环境变量
sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

参考: Ubuntu 18.04LTS安装配置Java OpenJDK8

2、安装vulnDBGen

(1)获取vulDBGen资源包
Github链接https://github.com/squizz617/vulnDBGen
(2)解压vulnDBGen压缩包,重命名为vulnDBGen

3、使用vulnDBGen

参考 官方文档docs
(1)在vulnDBGen文件夹内新建一个空文件夹,命名为gitrepos**
(2)修改vulnDBGen/config.py文件中的代码,改为刚才新建的gitrepos的路径:
gitStoragePath = r"/home/vulDBGen/gitrepos/"s**
(3)在vulnDBGen文件夹下,打开终端执行initialize.py 完成工具初始化**

// 工具初始化
python initialize.py

此时会从NVD上下载从2002年到2020年的feed数据,包括cve,name,cpe,漏洞描述,格式为nvdcve-1.1-2002.json.zip。

下载比较慢,可以自己从 NVD FEED下载zip文件,手动解压为json,复制到data/CVEXML中,再运行cveXmlParser.py,生成cvedata.pkl

// 生成data/cvedata.pkl
python tools/cvedatagen/cveXmlParser.py

在这里插入图片描述
再执行初始化脚本

// 工具初始化
python initialize.py

初始化
(4)获取代码仓库
cd到gitrepos目录下,执行:
git clone +软件所对应的github地址:

git clone https://github.com/Microsoft/ChakraCore.git

这里下载比较慢,如果是Linux kernel可以从清华镜像下载 https://mirror.tuna.tsinghua.edu.cn/help/linux.git/
其他代码,可以从GitHub上上传到码云,从码云git到虚拟机
https://blog.csdn.net/xy_zhangchn/article/details/81558144

(5)查看gitrepos目录下是否有一个以代码仓库命令的文件夹并且文件夹内包含有该软件的核心代码,如有则进行下一步

(6)修改vulnDBGen/src/get_source_from_cvepatch.py代码,否则会出现类型错误
修改代码为图上标记的两处
在这里插入图片描述

(7)在vulnDBGen目录下,执行下面命令:

//从Git存储库中提取CVE补丁  ,生成文件级diff文件,以diff节为
python src/get_cvepatch_from_git.py ChakraCore

若无误,在diff文件夹下会有以软件名命名的一个新的文件夹,该文件夹下面存放文件级的diff文件。生成文件级diff文件
在这里插入图片描述
查看生成的diff/ChakraCore,以及diff/dependency
在这里插入图片描述
查看diff/ChakraCore文件夹
在这里插入图片描述
用ls -l|grep “^-”| wc -l查看diff文件个数,ChakraCore生成了336个diff文件

(8)在vulnDBGen目录下,执行下面命令:

//从Git存储库中的CVE补丁恢复补丁前/补丁后功能,得到函数级别diff文件,以.patch结尾,.NEW文件表示修补后的函数,.OLD表示修补前的函数
python src/get_source_from_cvepatch.py ChakraCore

若无误,在vul文件夹下会有以软件名命名的一个新的文件夹,该文件夹下面存放的是函数级的diff文件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值