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
有一定的幫助。