模糊测试
模糊测试是一个很重要的流程,有助于发现影响当今复杂应用程序的未知关键错误,有时候甚至能暴露出一些让人“脑洞大开”或者“七窍生烟”的奇葩问题。01文件Fuzzers
模糊测试应当用于测试每个需要接受某种形式输入的接口,起码要测试每个从潜在恶意来源获取输入的接口。除了前面提到的通信协议,文件也同样可能存在安全风险,尤其是我们熟知的二进制文件。对于程序来说,少数字节错位都有可能使得整个应用程序毁于一旦。这些使程序崩溃的畸形文件通过损坏程序的字节,而使其破坏自己的栈、堆。在旧式、无内存的操作系统中,畸形文件通常能将整个计算机宕掉。此外,还有JS文件和HTML等Web相关的文件,这些文件都有可能引发安全问题。文件类型模糊测试的通常做法是:先准备一份插入程序中的正确的文件,然后用随机数据替换该文件的某些部分,最后用程序打开经模糊后的文件,观察程序是否出现异常或出现了什么异常。下面将介绍一款工具:Domato。
针对文件的开源的Fuzz工具——Domato
1、什么是Domato
Domato是由IvanFratric编写的DOMfuzzer,主要用来测试浏览器DOM引擎。从技术上讲,Domato并不是一个真正的fuzzer,而是一个测试用例生成器,它的基本思路和正常的fuzzer类似,也是根据给定的语法结构和属性来生成样本,这些语法可能来自是从各个地方抓取的HTML/JS/PHP/CSS等样本中所包含的,也可以是自定义的。
2、Domato的安装
在虚拟机上下载安装Domato非常简单,你只需要从Github上将源码下载下来即可。注意,Domato的主文件是用python写的,请确保在Python环境下运行。Domato源码链接: