借助Radamsa变异数据(初探)
2024-09-08 19:17:41
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
有一定的帮助。
最新文章
- sublime 添加代码片段(snippets)
- SQL2012新特性一次一个数据块----特殊的查询分页
- 提高php运行效率的50个技巧
- JavaScript设计模式
- tomcat server获取用户的请求地址
- 【开源推荐】AllJoyn:打造全球物联网的通用开源框架
- JavaWeb 环境搭建
- 程序员必须知道的六大ES6新特性
- Leetcode解题-树(5.0.0)基础类
- 安装和使用git遇到的问题总结
- srping的历史与哲学
- linux用法总结
- dubbo多网卡时,服务提供者的错误IP注册到注册中心导致消费端连接不上
- mqtt-jmeter
- Linux下设置SSH Server设置时间链接限制
- QtCore是Qt的精髓(包括五大模块:元对象系统,属性系统,对象模型,对象树,信号槽)
- 【Espruino】NO.07 获取电压值
- Dynamics 365 可编辑子网格的字段禁用不可编辑
- A1084
- Leetcode 53