Radamsa 介绍
Radamsa
是一款测试用例生成器,通常用来测试程序对格式错误和潜在恶意输入的承受能力(对程序进行模糊测试)。它通过你的输入来返回变异后的数据。它的主要卖点是,它已经在真正重要的程序中发现了许多错误。
Radamsa 使用方法
1、可以直接喂给它字符,它就会返回变异之后的数据给你。
2、从文件中读入字符,他返回变异之后的数据。
3、写一个shell脚本
,搭配jq来剔除不满足满足json
格式的数据,留下满足要求的。
#!/bin/bash
while true; do
radamsa test.json > ./input.txt
jq . input.txt 2>&1
if [ $? -gt 0 ]; then
cp ./input.txt ./crash/crash-`date +%s`.json
echo "Crash found"
fi
done
4、通过 python 里pyradamsa
提供的接口,来对数据进行编译
import pyradamsa
base_login_request = open("./input.txt", "rb").read()
rad = pyradamsa.Radamsa()
result = rad.fuzz(base_login_request)
print(result)
总结
合理的利用这个工具,应该可以对我们的fuzz
有一定的帮助。