FUZZ初学笔记(二)

本文是FUZZ初学笔记的第二部分,主要探讨了测试数据生成的方法和模糊启发式。在模糊测试中,测试数据的生成至关重要,例如在FTP服务健壮性测试中,需要研究数据传输格式和服务器处理方式。模糊启发式涉及整形值和字符串的测试,包括边界值测试、字符串长度的影响、字符分隔符、字符翻译和目录遍历、命令注入等安全问题。文章详细阐述了这些概念,并给出了相关例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FUZZ初学笔记(二)

  1. 测试数据生成和模糊启发式
    如何生成测试数据的实现方法只是待解决问题的一部分,同等重要的是决定生成什么样的测试数据。比如,我们正在创建一个模拟器以分析一个FTP服务的健壮性,在进行FTP的请求中,我们要加以研究的是数据传输格式和FTP服务器接收后对数据的处理方式

  2. 模糊启发式
    在模糊字符串或者模糊数据列表中所包含的特定的潜在危险值,称为模糊启发式(fuzzheuristics)
    2.1 整形值:在新的改进整形测试试用列表中,选择两个极限边界(0和0xFFFFFFFF)测试用例是很明显的,可能所提供的数字被作为内存分配程序的大小参数。通常额外空间被指定大小所容纳一个头,尾或者终止空字节,例如:

int size = read_ccr_size(packet);
//save space for NULL termination
buffer = (char *)malloc(size + 1);

从上面的来看的话,大小是从packet里面获取,当然一般大小是不会这样由用户进行分配,这里只是提供一个测试用例,那么这里分分配的大小将会在0~FFFFFFFF,被指定的大小可能会被之前的值减去进行分配,当目标程序知道它不准备将所有的指定数据拷贝到新分配的缓冲区时,就会发生这种情况。整形因为为四个字节,所以当运算结果超出32位整数的最大范围就会发生溢出,还有当减法结果小于0就会产生下溢,所以在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值