Linux下Peach的搭建及学习 您所在的位置:网站首页 sulley安装 Linux下Peach的搭建及学习

Linux下Peach的搭建及学习

2023-10-18 19:48| 来源: 网络整理| 查看: 265

0x00 前言

Peach是个开源的Fuzz框架,支持对文件格式、ActiveX、网络协议、API等对象的模糊测试,迄今一共发了三版,前两版是python写的,最后一版用C#重构了整个框架,支持windows、linux、OSX多个平台 之前学习了下Sulley,但,emmm…讲真,Peach比Sulley容易上手太多了,无论是搭建还是使用,建议新手从Peach开始学习

环境搭建

网络上对windows下搭建peach的文章有很多,Linux的较少(中文),写的也挺乱的,其实官网上介绍的很全面: 分别介绍了两种安装方法,这里我选用的是第一种,直接用它编译好的文件,如果有需要对peach进行拓展的可以选用第二种 在这里插入图片描述 在这里插入图片描述

具体步骤如下:

1、下载release版的shell文件 http://www.peach.tech/resources/peachcommunity/ 2、安装组件:

sudo apt-get install build-essential g++-multilib mono-complete

3、验证   解压下载的peach压缩包,进入peach目录执行

./peach

在这里插入图片描述

Peach Pit

关于peach的语法,pit文件的编写,官方文档已经写的很详尽了,给个中文版的下载连接:https://www.jianshu.com/go-wild?ac=2&url=https%3A%2F%2Fdownload.csdn.net%2Fdownload%2Fsherlock17%2F10317690 Peach3官方文档

例子

下面是一段登录验证的c代码:

sample.c

#include #include #include int fun_test1(char * tmp) { char pass[32]; memcpy(pass,tmp+1,tmp[0]); // do pass if(memcmp(pass,"123456",6) == 0) { printf("OK\n"); return 1; } return 0; } int fun_test(char * tmp) { if (tmp[0] == 't') { if (tmp[1] == 'e') { if (tmp[2] == 's') { if (tmp[3] == 't') { fun_test1(tmp+4); } } } } return 0; } int main(int argc, char** argv) { char tmp[32]; int len; if(argc FILE * fd = fopen(argv[1],"rb"); if(!fd) return 2; len = fread(tmp,1,sizeof(tmp),fd); fclose(fd); } fun_test(tmp); return 0; }

在kali下编译:

进入sample.c文件所在目录: gcc sample.c -o sample

种子文件 sample.bin

test 123456123456

编写pit文件 fuzz.xml 懒得贴了,调markdown的格式很烦,自行下载吧 fuzz.xml https://www.jianshu.com/go-wild?ac=2&url=https%3A%2F%2Fdownload.csdn.net%2Fdownload%2Fsherlock17%2F10317699

运行Peach

./peach [文件路径]/fuzz.xml

在这里插入图片描述 在设置的日志目录下可看到存储的异常日志信息

在这里插入图片描述

作者:Sh3rl0ck_17 链接:https://www.jianshu.com/p/ec76dfbdc574 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有