工作到今天已经三年有余,从开发、BA到测试,再到现在的测试管理,经历了很多,安全测试无疑也是我测试生活中浓重的一笔。已经不太记得自己是怎么样踏入安全测试这个大圈子的了,大概似乎也是项目所迫吧。从开始学习看书到逐步探索,再到现在可以稍微给安全新手一些技术上的指导,算是有了不大不小的跨越提升。
说起模糊测试,最早使用到fuzzing大概是在第一次接触Burpsuite这个套件的时候。那时候对安全测试都是一片懵懂,对模糊测试这个词更是无从定义。只是通过在intruder上的尝试,浅显的了解到模糊测试大约是用于初步探索有可能存在的安全漏洞这一方面,但是对其是怎样产生的、如何发展的、以及他准确的定义是什么、甚至这些模糊测试的语句是如何产生的都一窍不通。
也正是由于这样,才让我对安全测试有了更深入学习下去的动力吧我想。在这篇读书笔记里,我想先从我从事web安全测试的流程入手,再回归到模糊测试,也许更能体现模糊测试在安全测试整体中的重要作用:
解析、分析web应用——>制定安全策略——>测试验证机制——>测试会话管理——>测试访问控制——>测试基于输入的各种漏洞(sql注入、XSS等)——>测试逻辑缺陷——>总结分析
上面就是我在整个web安全测试工作中的流程,而模糊测试则在标红的第一步的位置。通常来说,在安全测试流程中,我们认为解析、分析web应用是整个测试工作的重中之重,它直接标识着我们测试流程的方向性以及测试结果的全面性。更细致一点说,模糊测试在这一过程中起到了指引测试方向,从而制定合理的安全策略的作用。
可能有很多人会疑惑这一点,但是在仔细看了试读章节以后,我相信大家就不会对此有任何异议了。我还是就着模糊测试的流程在做一个讲解:
1.确定测试目标
在这一步里,我们在web安全测试中需要确定的是测试的模块、甚至可以精确到某一个请求。
2.确定输入向量
这个是试读章节中的语句,我们通常在这里把这个输入向量成为有效载荷,比如我们有一个输入是username=fengluo,那么这里的fengluo就可以当做有效载荷进行载荷置换。
3.生成模糊测试数据
4.执行模糊测试数据
上面两步在已经有较为完善的工具支持下已经逐渐合成为了一个步骤,也就是自动配置模糊载荷数据并执行。其实也就是使用自动化的方式发送各种攻击字符,包括sql注入、xss等等。
5.监视异常
这里没什么可说的,在web安全测试过程中我们可能更多的用状态码、或者抓取response来查看返回是否正确正常。
6.判定发现的漏洞是否可能被利用
也就是根据上面的异常,我们可以初步确定该模块或者是该请求有可能包含哪些安全漏洞,从而让我们更好的执行后面的安全测试工作、制定最为高效的安全测试策略。
写了这么多,综上所述,随着安全问题的不断爆发,安全测试在目前的测试工作中已经体现了越来越重要的意义。而作为安全测试入门者的我们,初步掌握模糊测试无疑是我们走进安全测试大门的敲门砖!
相关推荐
《模糊测试:强制发掘安全漏洞的利器》是一本系统性描述模糊测试的专著,介绍了主要操作系统和主流应用类型的模糊测试方法,系统地描述了方法和工具,并使用实际案例帮助读者建立直观的认识。随着软件安全性问题变得...
模糊测试已经是当今最有效的测试软件安全性的方法。“模糊测试”方法使用随机数据作为被测程序的输入,然后系统性地找出这些输入数据导致的应用故障。本书是第一本,也是到目前为止唯一的一本劝募覆盖模糊测试的著作...
模糊测试,作为一种强大的安全漏洞发掘技术,其在IT行业的应用日益广泛,特别是在软件开发和网络安全领域。模糊测试的核心思想是通过向系统输入大量随机或半随机数据,试图触发未知的错误或异常行为,从而发现潜在的...
### Fuzzing-模糊测试--强制性安全漏洞发掘 #### 概述与核心概念 模糊测试(Fuzzing)作为一种有效的安全漏洞发掘方法,近年来在IT安全领域引起了广泛关注。其核心理念是通过向目标系统输入大量未经筛选的、随机...
### 模糊测试强制性安全漏洞发掘 #### 模糊测试概述 模糊测试(Fuzzing)是一种通过向目标系统输入非预期数据来检测软件缺陷或安全漏洞的技术。这种技术通常用于发现潜在的安全问题,例如缓冲区溢出、格式字符串...
【模糊测试】是一种重要的安全漏洞发掘技术,它通过向软件输入随机或半随机的数据(称为“模糊测试输入”)来探测程序潜在的错误和异常行为。这种方法能够在软件生命周期的早期阶段发现安全漏洞,从而降低修复成本。...
在工控网络安全领域,模糊测试特别重要,因为它可以帮助识别和修复工业控制系统中的安全漏洞。本文将探讨如何使用peach工具对modbus协议进行模糊测试。 首先,模糊测试的准备工作包括理解协议控制规范,如modbus...
一种基于模糊测试的车载ECU漏洞挖掘方法 模糊测试是一种软件测试技术,通过对输入数据的随机化和变异来检测软件的鲁棒性和安全性。在车联网中,模糊测试可以用于检测车载ECU的安全漏洞。本文提出的基于模糊测试的...
模糊数学——模糊矩阵运算PPT学习教案.pptx
它特别适用于Modbus协议的功能码模糊测试,以发现潜在的漏洞和不稳定情况。 【Modbus功能码】 Modbus是一种广泛应用的工业通信协议,用于在不同设备之间交换数据。它定义了不同的功能码,每个功能码对应一种特定的...
模糊测试可以帮助开发者发现软件中的缺陷和漏洞,从而提高软件的安全性和可靠性。 二、Peach是什么? Peach是一款功能强大且流行的模糊测试框架,使用C#语言开发。它支持多种协议和文件格式,如HTTP、Modbus、Tide...
【Peach模糊测试框架】 Peach是一个强大的模糊测试框架,主要设计用于测试各种软件和系统,尤其是网络协议和文件格式。它使用XML文件定义测试用例,这些测试用例可以是随机生成的数据,用于发现软件潜在的安全漏洞...
SPIKE开源模糊测试框架是一款基于C语言开发的工具,主要用于Unix平台上的软件安全测试。模糊测试,也称为Fuzzing,是一种黑盒测试方法,通过向目标程序输入大量随机或半随机的数据,来探测程序可能存在的漏洞和异常...
模糊测试,又称为Fuzzing,是一种有效的安全测试技术,用于发现软件中的安全漏洞。近年来,随着技术的迅速发展,模糊测试已成为网络安全领域不可或缺的工具。本文将概述模糊测试的基本工作流程,分析其关键环节、...