最近对于文件的漏洞挖掘比较感兴趣,所以在找资料来看。顺带记录笔记,把这些笔记贴在博客中分享一下。最近打算把精力放在mp3格式的漏洞发掘上,一来这是常见的文件格式格式也比较清晰。二来这也是学长推荐的入手点。
首先是明确对mp3格式进行fuzzing并不是只有一个MP3文件可以来搞,而是同时有几种播放器可以进行fuzzing的文件格式,分别有:
-
- mp3文件 不用解释了
- m3u文件 是路径的列表
- pls文件 也是一种路径的列表
另外我在文献中看到了如何判断进程是否出现异常的方法,不知道Fuzzing程序一般是不是用的这个方法。就是打开异常文件后,查看有没有异常处理进程,如果有的话就说明出现异常了。
关于fuzzing的测试用例也有不同的生成方法。一种是拿一个样本文件,在这个样本文件的基础上进行变异生成。另一种是直接根据文件格式的知识去生成大量的样本文件。因为复杂的文件会有很多的固定格式位或是校检和,所以直接变异可能会产生很多无用的样本。
著名的FileFuzz就是基于变异的原则去生成样本的,根据资料提供的信息是基于变异生成的不如直接根据文件格式生成的效率高。
我这里用的Fuzz工具是光刃牛开发的alpha 1.5,这个程序就是有两种不同的fuzz功能,一种是指定一个样本文件根据样本文件进行变异生成大量的测试文件。第二种是根据文件格式生成一些测试用例。同时也支持自己生成的测试用例。