工作到今天已经三年有余,从开发、BA到测试,再到现在的测试管理,经历了很多,安全测试无疑也是我测试生活中浓重的一笔。已经不太记得自己是怎么样踏入安全测试这个大圈子的了,大概似乎也是项目所迫吧。从开始学习看书到逐步探索,再到现在可以稍微给安全新手一些技术上的指导,算是有了不大不小的跨越提升。
说起模糊测试,最早使用到fuzzing大概是在第一次接触Burpsuite这个套件的时候。那时候对安全测试都是一片懵懂,对模糊测试这个词更是无从定义。只是通过在intruder上的尝试,浅显的了解到模糊测试大约是用于初步探索有可能存在的安全漏洞这一方面,但是对其是怎样产生的、如何发展的、以及他准确的定义是什么、甚至这些模糊测试的语句是如何产生的都一窍不通。
也正是由于这样,才让我对安全测试有了更深入学习下去的动力吧我想。在这篇读书笔记里,我想先从我从事web安全测试的流程入手,再回归到模糊测试,也许更能体现模糊测试在安全测试整体中的重要作用:
解析、分析web应用——>制定安全策略——>测试验证机制——>测试会话管理——>测试访问控制——>测试基于输入的各种漏洞(sql注入、XSS等)——>测试逻辑缺陷——>总结分析
上面就是我在整个web安全测试工作中的流程,而模糊测试则在标红的第一步的位置。通常来说,在安全测试流程中,我们认为解析、分析web应用是整个测试工作的重中之重,它直接标识着我们测试流程的方向性以及测试结果的全面性。更细致一点说,模糊测试在这一过程中起到了指引测试方向,从而制定合理的安全策略的作用。
可能有很多人会疑惑这一点,但是在仔细看了试读章节以后,我相信大家就不会对此有任何异议了。我还是就着模糊测试的流程在做一个讲解:
1.确定测试目标
在这一步里,我们在web安全测试中需要确定的是测试的模块、甚至可以精确到某一个请求。
2.确定输入向量
这个是试读章节中的语句,我们通常在这里把这个输入向量成为有效载荷,比如我们有一个输入是username=fengluo,那么这里的fengluo就可以当做有效载荷进行载荷置换。
3.生成模糊测试数据
4.执行模糊测试数据
上面两步在已经有较为完善的工具支持下已经逐渐合成为了一个步骤,也就是自动配置模糊载荷数据并执行。其实也就是使用自动化的方式发送各种攻击字符,包括sql注入、xss等等。
5.监视异常
这里没什么可说的,在web安全测试过程中我们可能更多的用状态码、或者抓取response来查看返回是否正确正常。
6.判定发现的漏洞是否可能被利用
也就是根据上面的异常,我们可以初步确定该模块或者是该请求有可能包含哪些安全漏洞,从而让我们更好的执行后面的安全测试工作、制定最为高效的安全测试策略。
写了这么多,综上所述,随着安全问题的不断爆发,安全测试在目前的测试工作中已经体现了越来越重要的意义。而作为安全测试入门者的我们,初步掌握模糊测试无疑是我们走进安全测试大门的敲门砖!
相关推荐
模糊测试—— 强制性安全漏洞发掘,快下载学习的
模糊测试已经是当今最有效的测试软件安全性的方法。“模糊测试”方法使用随机数据作为被测程序的输入,然后系统性地找出这些输入数据导致的应用故障。本书是第一本,也是到目前为止唯一的一本劝募覆盖模糊测试的著作...
《模糊测试:强制发掘安全漏洞的利器》是一本系统性描述模糊测试的专著,介绍了主要操作系统和主流应用类型的模糊测试方法,系统地描述了方法和工具,并使用实际案例帮助读者建立直观的认识。随着软件安全性问题变得...
14.3.2 智能强制性模糊测试和基于生成的模糊测试 14.3.3 修改的客户端变异模糊测试 14.4 错误检测 14.4.1 人工方法(基于调试器) 14.4.2 自动化方法(基于代理) 14.4.3 其它方法 14.5 小结 第15章 网络协议模糊...
模糊测试 强制性安全漏洞发掘:本书主要内容包括:模糊测试的工作原理,模糊测试相比其他安全性测试方法的关键优势,模糊测试在查找网络协议,文件格式及Web应用安全漏洞中的技术现状等。演示了自动模糊工具的用法,...
在模糊测试中,用随机坏数据(也称做 fuzz)攻击一个程序,然后等着观察哪里遭到了破坏。模糊测试的技巧在于,它是不符合逻辑的:自动模糊测试不去猜测哪个数据会导致破坏(就像人工测试员那样),而是将尽可能多的...
模糊测试--强制性安全漏洞发掘模糊测试--强制性安全漏洞发掘
Fuzzing-模糊测试--强制性安全漏洞发掘.docx
模糊数学——模糊矩阵运算PPT学习教案.pptx
1、根据协议控制规范或者捕获业控制络协议数据流来构造正常的数据包 2、分析正常协议的字段及其重要性 3、根据分析的协议中不同的数据类型,设计有效地变异策略 4、
本演讲将介绍系统性模糊测试和挖掘OSX内核漏洞的方法,及如何利用Python提升模糊测试和漏洞挖掘分析效率,并最终分析我们发现的数个OSX内核中的0day。我们将介绍如何利用Python实现自动化提取驱动攻击面和生成测试...
基于模糊测试的虚拟机安全漏洞挖掘工具的设计与实现,牛新立,双锴,虚拟化技术可以使得一台物理计算机上同时运行多个操作系统,并且在多个操作系统之间进行有效的资源隔离和数据隔离,能够充分利用
模糊测试(Fuzzing)技术是一种很有效的自动化软件漏洞挖掘技术,将其运用到网络 协议测试领域非常具有现实意义.本文结合网络协议本身的特点,分析了对网络协议进行模糊 测试需要注意的关键问题,并在传统模糊测试...
模糊测试 经典灰盒: 基于进化变异的模糊测试 基于进化变异的模糊测试优化 GREYONE:数据流敏感模糊测试 Part 1: 模糊测试驱动的污点推理 Part 2: 污点制导的变异 Part 3: 一致性制导的进化 Part 4: 性能优化 评估 ...
模糊测试是一种有效的自动化漏洞挖掘技术,主流模糊测试技术采用遗传算法生成测试用例,存在早熟现象,导致路径覆盖率不足。针对该问题,提出一种基于动态适应度函数的模糊测试方法。综合考虑了种子新度和路径深度...
本发明公开了一种基于变异树的黑盒模糊 测试方法及系统,包括:S1,构建变异树,...成新的模糊测试用例组,转到S3,直至遍历完整 棵变异树,完成目标程序的模糊测试。本发明解 决了漏洞被遗漏的问题,实现充分测试。
针对现有的并行模糊测试在测试效率、资源利用率以及异常处理上的局限性,围绕测试资源的生成、使用及容错三个方面提出了一种动态资源感知的系统化解决方案。针对测试环境在大规模和多场景两个维度快速搭建的需求,...
为解决传统漏洞挖掘方法不能在工控系统中直接应用的问题,提出一种基于模糊测试的 工控网络协议漏洞挖掘方法。使用工控网络协议测试用例变异因子生成协议特征值,每个变异因子 代表一类工控系统漏洞的特征。变异因子...
1、sulley前已不再维护 2、对sulley模糊测试编写程序,需要有定的python语基础 3、sulley配置环境相对繁琐,peach配置环境相对简单(前
模糊数学——基于模糊等价关系聚类分析PPT学习教案.pptx