用AFL进行模糊测试。

admin 2021年12月3日05:25:50评论175 views字数 3024阅读10分4秒阅读模式


#include<stdio.h>#include<stdlib.h>#include<string.h>
struct Image{char header[4];int width;int height;char data[10];};
void stack_operation(){ char buff[0x1000]; while(1) stack_operation(); //recusively call function and allocate stack memory }
int ProcessImage(char* filename){
FILE *fp; char ch; struct Image img;
fp = fopen(filename,"r"); //Statement 1
if(fp == NULL) { printf("nCan't open file or file doesn't exist.rn"); exit(0); }

while(fread(&img,sizeof(img),1,fp)>0) { //if(strcmp(img.header,"IMG")==0) //{ printf("ntHeadertwidththeighttdatatrn");
printf("nt%st%dt%dt%srn",img.header,img.width,img.height,img.data);

//integer overflow 0x7FFFFFFF+1=0 //0x7FFFFFFF+2 = 1 //will cause very large/small memory allocation. int size1 = img.width + img.height; char *buff1; if(size1/2==0){ do{ buff1=(char*)malloc(size1); }while(buff1); } else{ stack_operation(); }
} return 0; }
int main(int argc,char **argv){ ProcessImage(argv[1]); return 0;  }


此C程序包含上述所有漏洞的易受攻击的代码,然后用户可以使用AFL或hongfuzz或其他所需的方法对其进行模糊处理。

**如何编译**

只需在命令提示符下键入“ make”即可。Makefile包含在其中。

如何为AFL生成输入?

只需创建一个示例输入文件,如下所示,其余的AFL会小心处理:

echo "IMG" >input/1.tx


AFL将自动生成新的测试用例,并发现上述大多数漏洞。多数民众赞成在AFL的美丽:)


如何使用AFL对其进行模糊处理?

1.首先使用以下命令编译该程序:

afl-gcc -g -fsanitize=address imgRead.c -o imgread


2.运行以下命令:

afl-fuzz -i input -o output -m none -- ./imgRead @@



如何使用honggfuzz对其进行模糊处理

1.首先使用以下命令编译该程序:

hfuzz-gcc -g -fsanitize=address imgRead.c -o imgread


2.运行以下命令:

hongfuzz -i input -- ./imgread ___FILE___



如何使用libfuzzer进行模糊测试

您需要修改C代码,可以从这里获取更新的代码:https : //github.com/hardik05/Damn_Vulnerable_C_Program/blob/master/imgRead_libfuzzer.c

1.使用以下命令编译程序:

clang -fsanitize=fuzzer,address,undefined -g imgRead_libfuzzer.c -o imgRead_libfuzzer


** 2。运行以下命令进行模糊测试:

./imgRead_libfuzzer


您可以在此处查看视频教程:

完整的模糊测试播放列表:

以下单个视频:


Linux

AFL ++

[使用AFLplusplus进行模糊处理]安装AFLPlusplus并使用简单的C程序进行模糊处理

 https://www.youtube.com/watch?v=9wRVo0kYSlc

[使用AFLplusplus进行模糊处理]如何在Linux上以持久模式对没有源代码的二进制文件进行模糊处理

 https://www.youtube.com/watch?v=LGPJdEO02p4


AFL

[使用AFL进行模糊处理]如何在Ubuntu上安装AFL

 https://www.youtube.com/watch?v=r7ucv2kN4j4

[使用AFL模糊处理]使用AFL模糊简单的C程序

 https://www.youtube.com/watch?v=NiGC1jxFx78&t=66s

[使用AFL进行模糊处理]使用AFL查找不同类型的漏洞

 https://www.youtube.com/watch?v=m1RkShHzx_8&t=151s

[使用AFL进行模糊处理]使用崩溃行走对崩溃进行分类,并使用GDB查找根本原因

 https://www.youtube.com/watch?v=5R2gPkCXZkM

[使用AFL进行模糊处理]在Qemu模式下,使用AFL对没有源代码的二进制文件进行模糊处理。

 https://www.youtube.com/watch?v=np3sLLFQs6I


Honggfuzz

[使用honggfuzz进行模糊处理]使用HongFuzz

 https://www.youtube.com/watch?v=6OBXJtEe-d8来对简单的C程序进行模糊处理

[使用honggfuzz进行模糊处理] Hongfuzz,checksec(pwntools),ASAN

 https://www.youtube.com/watch?v=Lr8pLQRTHac


Windows

Libfuzzer

[使用libfuzzer模糊测试]如何使用LibFuzzer模糊简单的C程序

[使用libfuzzer,AFL进行模糊处理]如何使用AFL来模糊libfuzzer利用程序

https://www.youtube.com/watch?v=HfEqm3TrfwM&list=PLHGgqcJIME5m7HaHfACayoyN0TRe2PHRp&index=2


Radamsa

[使用Radamsa进行模糊处理]使用Radamsa进行简单的C程序模糊处理


WinAFL

[使用WinAFL进行模糊处理]用WinAFL进行简单的C程序模糊处理

[使用WinAFL进行模糊处理]什么是模糊处理功能,如何确保一切正常?


用AFL进行模糊测试。


本文始发于微信公众号(Khan安全攻防实验室):用AFL进行模糊测试。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月3日05:25:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   用AFL进行模糊测试。http://cn-sec.com/archives/534744.html

发表评论

匿名网友 填写信息