佛山企业手机网站建设,湖南网站seo,建设简易电子商务网站流程图,网站建设的用途是什么一 安装环境#xff1a;
在vm虚拟机上使用Ubuntu-22.04系统的镜像。
清华和科大的镜像都可以#xff0c;下载下来的是ISO的压缩包#xff0c;不用解压#xff08;出来的是一堆文件#xff09;#xff0c;在安装新的VM虚拟机时#xff0c;在镜像源里面直接选择下载下来…一 安装环境
在vm虚拟机上使用Ubuntu-22.04系统的镜像。
清华和科大的镜像都可以下载下来的是ISO的压缩包不用解压出来的是一堆文件在安装新的VM虚拟机时在镜像源里面直接选择下载下来的压缩包。 二 正式安装
2.1 安装LLVM和CLANG
sudo apt-get install clang
sudo apt-get install llvm AFL 使用 LLVM/Clang 进行代码插桩AFL 利用 LLVM/Clang 提供的插桩功能通过修改编译器生成的可执行文件实现对代码的覆盖率插桩从而能够监测程序执行时经过的路径用于模糊测试的导向。 AFL 需要 LLVM/Clang 编译器AFL 包含了一些工具如 afl-gcc它们实际上是 LLVM/Clang 的包装器用于在编译过程中实现代码插桩等操作。 2.2 下载、解压、编译和安装 AFL工具
wget http://lcamtuf.coredump.cx/afl/releases/afl-2.52b.tgz
tar -zxvf afl-2.52b.tgz
cd afl-2.52b
make
sudo make install这里会报两次错 1.运行后报错sudo: make: command not found 解决方法 sudo apt-get update
sudo apt-get install make 2.之后还会报错make: *** [Makefile:53: test_x86] Error 1 解决方法 sudo apt-get install gcc 3.再次编译AFL sudo make install 三 准备待测程序
3.1 安装vim编辑器
sudo apt-get install vim
3.2 创建并打开一个test.c文件
vim test.c
复制粘贴一下实例代码
/* 功能两数加减乘除一个整数、一个字符、再一个整数然后根据中间这个字符当作运算符输出四则运算结果。 */
#include stdio.hint main(int argc, char *argv[])
{int a, b;char op;int result;if(scanf(%d%c%d, a, op, b)){switch (op) {case :result a b;break;case -:result a - b;break;case *:result a * b;break;case /:result a / b;break;default:return 1;}}printf(%d\n, result);return 0;
}
以wq一个回车键保存并退出文件返回我们的初始终端。
3.3 创建一个testfile文件夹把刚刚创建的test.c文件放进去。注:这时里面还没有afl_test这个文件 四 插桩编译
4.1 右键testfile这个文件夹选择在终端中打开它 4.2 执行下面的命令 4.3 结果 -编译后的文件 afl_test 五 准备种子池 mkdir good_seeds bad_seeds创建了两个目录一个是 good_seeds用于存放良好的种子文件另一个是 bad_seeds用于存放不良的种子文件。 echo 12 good_seeds/any_seed将字符串 12 写入到 good_seeds 目录下名为 any_seed 的文件中。这个文件是一个良好的种子文件用于作为输入进行模糊测试。 echo bad seed bad_seeds/any_seed将字符串 bad seed 写入到 bad_seeds 目录下名为 any_seed 的文件中。这个文件是一个不良的种子文件用于作为输入进行模糊测试测试程序对不良输入的处理能力。 六 开始种子测试 如果出错了的解决方案
错误展示 解决方案
$ sudo su
$ echo core /proc/sys/kernel/core_pattern出现UI界面 Ctrlc手动终止fuzz
错误展示
太小了导致无法显示UI界面 解决方法
resize命令安装
执行如下命令
$ sudo apt-get install xterm $ sudo resize -s 80