easyFuzzer使用案例分享
1、简介:
easyFuzzer是wooyun的一位白帽子(光刃)提供的一款用于fuzz文件的工具。平时主要是和网络协议安全打交道,和本地软件安全打交道比较少,所以没怎么关注这款软件,但是今天发现YS的PC客户端多了一个视频编辑的功能,而且还做成了单独的编辑器,在对这个编辑器进行安全评估时我当然想到了本地溢出的一些安全问题,这让我重新关注了这款软件,也就有了下文的实际案例来说明这款软件的用法。
具体使用说明和文件下载地址:
http://bbs.pediy.com/showthread.php?t=193340
2、实际案例:
YS视频编辑器播放库解析不当,可能存在被溢出利用的安全隐患
问题描述:
YS视频编辑器使用了2方播放库,该库在解析一些定制的畸形视频文件时会崩溃,根据一般的经验为对文件数据格式解析不当造成溢出,这种看似普通bug的问题往往可以利用来进行恶意攻击,一旦利用成功,可以在用户端执行恶意代码。
测试步骤:
(1)、 使用easyFuzz导入并生成畸形MP4文件,如图:
(2)、 打开YS视频编辑器,以此选择导入生成的畸形文件,并添加到编辑栏,如图:
(3)、 选择某个畸形文件并点击加入,在进行视频预览时编辑器崩溃。
问题扩展:
崩溃的点存在于不同的地方,有的在导入视频时即崩溃,有的在拖入编辑区崩溃,还有的在播放视频文件时崩溃,故需要全面排查。
如果该问题可以进行利用攻击,攻击手法一般是使用社会工程学欺骗用户去添加该带恶意代码的视频文件,最终利用该漏洞执行这些恶意代码。
解决建议:
(1)、 在播放库中对播放文件进行严格的数据校验,包括但不限于:数据长度、类型、范围,并建议使用白名单的校验方式,即只允许指定的数据通过,对于指定之外的数据不做处理。
3、总结:
由于YS编辑器并不能直接关联播放MP4文件,而是需要手动拖放的过程,因此不能像说明文档那样,直接使用easyFuzzer关联程序进行Fuzz,因此,需要写一个调用播放库的demo实现自动化测试,流程如下: