Linux下Peach的搭建及学习

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 <stdio.h>
  #include <stdlib.h>
  #include <string.h>

  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 < 2 )
      {
        len = fread(tmp,1, sizeof(tmp),stdin);
      }
      else
      {
       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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值