[测试技术分享]easyFuzzer使用案例分享
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实现自动化测试,流程如下:
![]() |
[测试技术分享]easyFuzzer使用案例分享的更多相关文章
- [转载]DevOps在传统企业的落地实践及案例分享
内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...
- 【案例分享】SpreadJS金融行业应用实践,开发基于Web Excel的指标补录平台
SpreadJS作为一款基于 HTML5 的纯前端电子表格控件,以“高速低耗.高度类似Excel.可无限扩展”为产品特色,提供移动跨平台和浏览器支持,可同时满足 .NET.Java.App 等应用程序 ...
- 数百个 HT 工业互联网 2D 3D 可视化应用案例分享 - 2019 篇
继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...
- 2019-分享数百个 HT 工业互联网 2D 3D 可视化应用案例分享
继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...
- Office 2010 KMS激活原理和案例分享
Office 2010 KMS激活原理和案例分享 为了减低部署盗版(可能包含恶意软件.病毒和其他安全风险)的可能性,Office 2010面向企业客户推出了新的批量激活方式:KMS和MAK.这 ...
- Office 2010 KMS激活原理和案例分享 - Your Office Solution Here - Site Home - TechNet Blogs
[作者:葛伟华.张玉工程师 , Office/Project支持团队, 微软亚太区全球技术支持中心 ] 为了减低部署盗版(可能包含恶意软件.病毒和其他安全风险)的可能性,Office 2010面向企 ...
- 老李案例分享:Weblogic性能优化案例
老李案例分享:Weblogic性能优化案例 POPTEST的测试技术交流qq群:450192312 网站应用首页大小在130K左右,在之前的测试过程中,其百用户并发的平均响应能力在6.5秒,性能优化后 ...
- 性能调优案例分享:Mysql的cpu过高
性能调优案例分享:Mysql的cpu过高 问题:一个系统,Mysql数据库,数据量变大之后.mysql的cpu占用率很高,一个测试端访问服务器时mysql的cpu占用率为15% ,6个测试端连服务 ...
- 老李案例分享:MAT分析应用程序服务出现内存溢出过程
老李案例分享:MAT分析应用程序服务出现内存溢出过程 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的loa ...
随机推荐
- MongoDB 聚合(管道与表达式)
MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*). aggregate() 方法 MongoDB中 ...
- python-列表 字典 集合 元祖 字符串的相关总结练习
1.执行python脚本的两种方式指定解释器执行在交互器中执行 2.简述位.字节的关系:ASCII1个二进制位是计算机里的最小表示单元1个字节是计算机里最小的储存单元二进制位=8bits(位)8bit ...
- Swift 闭包(六)
http://blog.csdn.net/huangchentao/article/details/32714185 闭包 Closures 1.闭包表达式 闭包表达式是一种利用简单语法构建内联包的方 ...
- Backbone Model 源码简谈 (版本:1.1.0 基础部分完毕)
Model工厂 作为model的主要函数,其实只有12行,特别的简练 var Model = Backbone.Model = function(attributes, options) { va ...
- 4.shell预定义变量
就是shell设计者实现预定好的变量,可以直接在shell脚本中使用$$:当前进程的进程号(pid)$!:后台运行的最后一个进程的进程号(pid)$?:最后一次执行的命令的返回状态,如果这个变量的值为 ...
- [ 总结 ] nginx 安装过程
本次安装使用源码编译安装: 在安装nginx之前需要先安装三个源码包:pcre.zilb.openssl pcre:用于rewrite重写 zlib: 用于gzip压缩 openss ...
- IE6 下的HTML5兼容问题
下面列举IE6中10个不得不注意的问题: 1. 使用 DOCTYPE你需要在HTML页面的最顶部加上DOCTYPE类型,当然, strict版是值得推荐的,例如: <!DOCTYPE HTML ...
- python之多并发socket(zz)
本文转载自:http://www.cnblogs.com/bainianminguo/p/7337210.html 先看socket多并发的服务端的代码,这里是用多线程实现的多并发socketserv ...
- mysql错误Table ‘./mysql/proc’ is marked as crashed and should be repaired
今天服务器当机了,重启后就发现了如下错误: Table ‘./mysql/proc’ is marked as crashed and should be repaired 解决方法: repair ...
- CodeForces 669C
链接:http://codeforces.com/problemset/problem/669/C http://www.cnblogs.com/Ash-ly/p/5443155.html 题意: 给 ...
