Radamsa:一款高性能通用模糊测试工具

admin 2024年8月3日15:43:52评论28 views字数 2201阅读7分20秒阅读模式

关于Radamsa
Radamsa是一款高性能的通用模糊测试工具,广大研究人员可以将其当作一个应用程序稳定性测试的测试用例生成工具。
 
Radamsa:一款高性能通用模糊测试工具
工具运行机制
 

工具使用简单,支持自定义脚本开发,可以用于测试程序对格式错误和潜在恶意输入的承受能力。它的工作原理是读取有效数据的示例文件并从中生成有趣的不同输出。
 
Radamsa旨在成为适用于所有类型数据的通用模糊测试工具。其目标是无论程序处理哪种数据(无论是xml还是mp3),都能发现问题,反之,如果找不到错误,则意味着其他类似工具可能也找不到。这是通过各种启发式方法和更改模式来实现的,这些方法和模式在测试过程中会发生变化。
 
Radamsa是一种基于黑盒测试技术的模糊测试工具,因此它不需要任何有关目标应用程序或数据格式的相关信息。在测试期间,可以将其与覆盖率分析配对,以在连续测试运行期间提高样本集的质量。
 
工具要求

支持的操作系统

 

GNU/Linux
OpenBSD
FreeBSD
Mac OS X
Windows(使用Cygwin)

 

软件要求

 

gcc / clang
make
git
wget

 

工具安装

$ git clone https://gitlab.com/akihe/radamsa.git
$ cd radamsa
$ make
$ sudo make install # optional, you can also just grab bin/radamsa
$ radamsa --help
 
Radamsa本身只是一个二进制文件,没有外部依赖项,我们可以将其移动到任意位置并删除其余部分。
工具使用
使用Radamsa对通过管道的数据执行模糊测试:
$ echo "aaa" | radamsa
aaaa
 
这里Radamsa决定在输入中添加一个「a」,然后再试一次:
$ echo "aaa" | radamsa
:aaa
 
默认情况下,如果未指定特定的随机状态,Radamsa将从 /dev/urandom 中获取随机种子,并且每次启动时通常都会看到不同的结果,但对于较小的输入,可能会经常看到相同的结果或原始结果。可以使用 -s 参数指定要使用的随机状态,该参数后跟一个数字。需要注意的是,使用相同的随机状态将导致生成相同的数据:
$ echo "Fuzztron 2000" | radamsa --seed 4
Fuzztron 4294967296
 
我们还可以使用 -n 参数生成多个输出,如下所示:
$ echo "1 + (2 + (3 + 4))" | radamsa --seed 12 -n 4
1 + (2 + (2 + (3 + 4?)
1 + (2 + (3 +?4))
18446744073709551615 + 4)))
1 + (2 + (3 + 170141183460469231731687303715884105727))
 
工具无法保证所有的输出都是唯一的,但相同的输出结果情况还是很罕见的。
 
现在,我们已经拿到了测试用例,接下来就可以将其输入到待测应用程序中了:
$ echo "100 * (1 + (2 / 3))" | radamsa -n 10000 | bc
[...]
(standard_in) 1418: illegal character: ^_
(standard_in) 1422: syntax error
(standard_in) 1424: syntax error
(standard_in) 1424: memory exhausted
[hang]
或者测试用于编译Radamsa的编译器:
$ echo '((lambda (x) (+ x 1)) #x124214214)' | radamsa -n 10000 | ol
[...]
> What is 'ó µ'?
4901126677
> $
 
或测试gzip:
$ gzip -c /bin/bash | radamsa -n 1000 | gzip -d > /dev/null
我们还可以加入无限循环执行测试:
$ gzip -c /bin/bash > sample.gz
$ while true; do radamsa sample.gz | gzip -d > /dev/null; done

输出选项

Radamsa:一款高性能通用模糊测试工具

许可证协议

本项目的开发与发布遵循MIT开源许可协议。
项目地址
Radamsa:
https://gitlab.com/akihe/radamsa
 
FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊
Radamsa:一款高性能通用模糊测试工具
Radamsa:一款高性能通用模糊测试工具
Radamsa:一款高性能通用模糊测试工具
http://www.gnu.org/software/gdb/
http://valgrind.org/
http://code.google.com/p/address-sanitizer/wiki/AddressSanitizer
http://sourceforge.net/projects/strace/
http://www.circlemud.org/~jelson/software/tcpflow/
http://lcamtuf.coredump.cx/afl/
http://caca.zoy.org/wiki/zzuf
http://code.google.com/p/bunny-the-fuzzer/
http://peachfuzzer.com/
http://code.google.com/p/sulley/
Radamsa:一款高性能通用模糊测试工具

Radamsa:一款高性能通用模糊测试工具

Radamsa:一款高性能通用模糊测试工具

Radamsa:一款高性能通用模糊测试工具

Radamsa:一款高性能通用模糊测试工具

原文始发于微信公众号(FreeBuf):Radamsa:一款高性能通用模糊测试工具

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月3日15:43:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Radamsa:一款高性能通用模糊测试工具https://cn-sec.com/archives/3028042.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息