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使用案例分享的更多相关文章

  1. [转载]DevOps在传统企业的落地实践及案例分享

    内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...

  2. 【案例分享】SpreadJS金融行业应用实践,开发基于Web Excel的指标补录平台

    SpreadJS作为一款基于 HTML5 的纯前端电子表格控件,以“高速低耗.高度类似Excel.可无限扩展”为产品特色,提供移动跨平台和浏览器支持,可同时满足 .NET.Java.App 等应用程序 ...

  3. 数百个 HT 工业互联网 2D 3D 可视化应用案例分享 - 2019 篇

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

  4. 2019-分享数百个 HT 工业互联网 2D 3D 可视化应用案例分享

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

  5. Office 2010 KMS激活原理和案例分享

    Office 2010 KMS激活原理和案例分享     为了减低部署盗版(可能包含恶意软件.病毒和其他安全风险)的可能性,Office 2010面向企业客户推出了新的批量激活方式:KMS和MAK.这 ...

  6. Office 2010 KMS激活原理和案例分享 - Your Office Solution Here - Site Home - TechNet Blogs

    [作者:葛伟华.张玉工程师 ,  Office/Project支持团队, 微软亚太区全球技术支持中心 ] 为了减低部署盗版(可能包含恶意软件.病毒和其他安全风险)的可能性,Office 2010面向企 ...

  7. 老李案例分享:Weblogic性能优化案例

    老李案例分享:Weblogic性能优化案例 POPTEST的测试技术交流qq群:450192312 网站应用首页大小在130K左右,在之前的测试过程中,其百用户并发的平均响应能力在6.5秒,性能优化后 ...

  8. 性能调优案例分享:Mysql的cpu过高

    性能调优案例分享:Mysql的cpu过高   问题:一个系统,Mysql数据库,数据量变大之后.mysql的cpu占用率很高,一个测试端访问服务器时mysql的cpu占用率为15% ,6个测试端连服务 ...

  9. 老李案例分享:MAT分析应用程序服务出现内存溢出过程

    老李案例分享:MAT分析应用程序服务出现内存溢出过程   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的loa ...

随机推荐

  1. iOS 之持久化存储 plist、NSUserDefaults、NSKeyedArchiver、数据库

    1.什么是持久化? 本人找了好多文章都没有找到满意的答案,最后是从孙卫琴写的<精通Hibernate:Java对象持久化技术详解>中,看到如下的解释,感觉还是比较完整的.摘抄如下: 狭义的 ...

  2. es6+最佳入门实践(8)

    8.Promise 8.1.什么是异步? 要理解异步,首先,从同步代码开始说 alert(1) alert(2) 像上面的代码,执行顺序是从上到下,先后弹出1和2,这种代码叫做同步代码 alert(0 ...

  3. bzoj 3100 排列

    题目大意: 给你长度为 \(1e6\) 的序列, 求最大的 \(K\) 使得序列中含有一个 \(K\) 的排列 做法: 性质: 区间包含1, 元素不重, 区间最大值=区间长度 枚举一个 \(1\) 让 ...

  4. 数据结构基础---Binary Search Tree

    /// Binary Search Tree - Implemenation in C++ /// Simple program to create a BST of integers and sea ...

  5. kafka+flume+HDFS日志采集项目框架

    1,项目图如下: 2, 实现过程 启动HDFS: sbin/start-dfs.sh 启动zookeeper(三台): bin/zkServer.sh start 启动kafka(三台): root@ ...

  6. 【poj1226-出现或反转后出现在每个串的最长公共子串】后缀数组

    题意:求n个串的最长公共子串,子串出现在一个串中可以是它的反转串出现.总长<=10^4. 题解: 对于每个串,把反转串也连进去.二分长度,分组,判断每个组. #include<cstdio ...

  7. 51nod数字1的数量

    这道题瞎jbyy了很久 方法可能很奇怪... #include<cstdio> #include<cstring> #include<algorithm> #inc ...

  8. 【转】Spring MVC 解读——<mvc:annotation-driven/>

    转载自:http://my.oschina.net/HeliosFly/blog/205343 一.AnnotationDrivenBeanDefinitionParser 通常如果我们希望通过注解的 ...

  9. python基础复习-1-1文件类型、变量、运算符、表达式

    文件类型: .py python源文件 由python解释器执行 .pyc python源码编译后生成的文件(字节代码) 编译方法: 源码文件中使用py_compile模块 import py_com ...

  10. DRF视图集的路由设置

    在使用DRF视图集时,往往需要配一大堆路由,例如: # views.py class DepartmentViewSet(ListModelMixin,CreateModelMixin,Retriev ...