2024年模糊测试-radamsa学习笔记,醍醐灌顶

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Windows平台(Win10测试)

cygwin安装

编译

选项

使用举例

Hello World!

json数据

添加json数据

使用radamsa进行fuzz

脚本编写


代码

radamsa

简介

Radamsa是用于健壮性测试(又称为模糊测试)的测试用例生成器。它通常用于测试程序对格式错误和潜在恶意输入的承受能力。它通过读取有效数据的样本文件并从中生成令人感兴趣的不同输出来工作。radamsa的主要卖点是,它已经在真正重要的程序中发现了许多错误,它易于编写脚本,并且易于启动和运行。

目录结构

目录结构1

目录结构2

  • bin 一些测试的shell脚本等
  • c    库、头文件以及一对库的一些测试
  • doc 文档
  • rad 一些.scm文件(一种支持DRM(Digital Rights Management 数字版权保护)的新兴媒体格式)
  • tests 测试目录,包含一些脚本及抓的网络包

Linux平台(Ubuntu测试)

编译

工具安装
sudo apt update

安装

sudo apt-get install gcc make git wget
下载编译
git clone git@gitlab.com:akihe/radamsa.git && cd radamsa && sudo make && sudo make install

develop版本

develop版本

它有很多分支,我下载的develop版本。

查看版本

radamsa --version

版本

develop版本应该和master,v0.6是一样的,master和v0.6应该更稳定些。

Windows平台(Win10测试)

cygwin安装

标题

标题

标题

阿里云镜像

上面的截图在选择包之后出现,有的人的软件有列表,我的是空的,自己Add上。

标题

标题

选择好后悔安装,上面以gcc和make为例,建议使用后方的命令去安装gcc make和wget

标题

安装命令

进入到安装包目录,使用以下命令会自动到达gcc make wget的页面。

setup-x86_64.exe -q -P wget -P gcc-g++ -P make -P diffutils -P libmpfr-devel -P libgmp-devel -P libmpc-devel

安装完成,打开Cygwin.bat查看。

版本

编译

编译成功

想要不通过Cygwin运行,需要将依赖放到exe的目录中,然后使用cmd命令

cygwin1.dll在cygwin64安装目录的bin目录中,radamsa.exe路径在radamsa的bin中。

同一目录下

cmd命令调用

cmd命令调用radamsa.exe

选项

radamsa用法
| 用法:radamsa [参数] [文件] | |
| 参数 | 含义 |
| -h | --help | 展示帮助信息 |
| -a | --about | radamsa介绍 |
| -V | --version | 版本 |
| -o | --output | 输出模式,例如out.bin /tmp/fuzz-%n.%s、-、:80或127.0.0.1:80或127.0.0.1:123/udp [默认-] |
| -n | --count | 要生成多少个输出(数字或inf)[默认1] |
| -s | --seed | 随机种子(数字,默认随机) |
| -m | --mutations | 要使用哪些突变[ft = 2,fo = 2,fn,num = 5,td,tr2,ts1,tr,ts2,ld,lds,lr2,li,ls,lp,lr, lis,lrs,sr,sd,bd,bf,bi,br,bp,bei,bed,ber,uw,ui = 2,xp = 9,ab] |
| -p | --patterns | 要使用的突变模式[od,nd = 2,bu] |
| -g | --generators | 要使用的数据生成器[random,file = 1000,jump = 200,stdin = 100000] |
| -M | --meta | 将有关生成文件的元数据保存到此文件 |
| -r | --recursive | 包括子目录中的文件 |
|  -S | --seek | 从给定的测试用例开始 |
| -T | --truncate | 仅占用每个输出的前n个字节(主要用于UDP) |
| -d | --delay | 输出之间睡眠n毫秒 |
|  -l | --list | 列出突变,模式和生成器 |
| -C | --checksums | uniqueness过滤器中的最大校验和数(0禁用)[默认10000] |
| -H | --hash | 用于唯一性检查的哈希算法(stream,sha1或sha256)[默认stream] |
| -v | --verbose | 显示生成过程中的进度 |

使用举例

Hello World!



![img](https://img-blog.csdnimg.cn/img_convert/e3621a6f7e3babfdc352fbf0a1358a90.png)
![img](https://img-blog.csdnimg.cn/img_convert/712c365c8131556ecab84d0cfb291833.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

存中...(img-EDOkhfsH-1715165186700)]
[外链图片转存中...(img-eGOmBLyD-1715165186700)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值