阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?

简介: 大家好,我是阿萨。昨天解决了HTTPS的证书问题,大部分网站都可以扫描了。Web 网站扫描报告的导出,也是那么的像模像样了,开发也不需要找你。只需要看下修复建议,就大概知道如何修复了。

但是安全测试过程中有一类测试,就是Fuzz  测试。问题表现就是特别简单的异常参数攻击,就有可能导致网站出现致命问题。甚至服务器重启等异常情况产生。绝对是测试过程中投入产出比特别高的一类测试。

最典型场景就是暴力破解。把常见用户名和密码输入到参数列表里,然后用参数列表替换登录接口里的用户名和密码。返回请求结果正常的200以及结果正常的,表示破解成功了。


一 . 什么是Fuzz 测试?


Fuzz测试,也叫做“模糊测试”,是一种挖掘软件安全漏洞、检测软件健壮性的黑盒测试,它通过向软件输入非法的字段,观测被测试软件是否异常而实现。Fuzz测试的概念非常容易理解,如果我们构造非法的报文并且通过测试工具注入被测设备,那么这就是一个Fuzz测试的测试例执行,大多数测试工程师肯定都尝试过这种测试手段。今天我们就来学习如何用ZAP做这类测试。


二. ZAP 的Fuzz 功能入口


由上面的介绍我们得知:Fuzz是一种向目标提交大量无效或意外数据的技术。那么如何用ZAP做Fuzz呢?

要打开Fuzzer对话框,可以:

●右键单击ZAP选项卡中的一个请求(例如历史记录或站点),然后选择“Attack / Fuzz…”


11.jpg


●在Request选项卡中双击选中一个参数值,高亮显示一个参数的字符串,右键单击它并选择“Fuzz…”


12.jpg


●选择“Tools / Fuzz…”菜单项,然后选择你想要做Fuzz的请求


13.jpg


三. 如何利用Fuzz 做SQL注入?


接下来我们演示下如何使用Fuzz 做SQL 注入测试。

1.先找到你需要测试的API 请求的参数,无论它在URL 还是在Body里,选择中,打开Fuzz 对话框。


14.jpg


2.点击Payloads 按钮。

3.在Payloads 位置 点击Add

4.选择File Fuzzers


15.jpg


5.打开jbrofuzz, 选择SQL Injection, 选择添加,然后开始Fuzz 测试。

6.在下方Fuzzer 结果窗口分析所有200 结果的请求,表明注入成功了。


16.jpg


是不是很简单?


四. 如何使用Fuzz 测试做路径遍历?


上面介绍了SQL 注入,路径遍历的测试方法如下:

1.选择URL 中可以替换的位置或者是 Body 里的参数。选中后,打开Fuzz对话框。

2.添加Payloads


17.jpg


3.在上图对话框中选择dirbuster.

4. 添加好payload 后开始Fuzz测试即可。

5.有些同学可能说了,URL 上的参数如果要编码怎么办?ZAP为我们提供了一个强大的处理器。


18.jpg


6.在Processors 里可以选择对参数进行各种处理,比如密码加密,给参数添加前缀,URL 编码等等。

7.通过选择URL 编码,可以实现给payload参数编码。然后开始Fuzz 测试。通过分析结果中的200 请求来判断路径遍历漏洞是否存在。


19.jpg


目前内置的处理器有

●Base64解码

●Base64编码

●扩展(到指定的最小长度)

●JavaScript escape

●JavaScript Unescape

●MD5哈希

●后缀字符串

●前缀字符串

●sha - 1哈希

●sha - 256散列

●sha - 512散列

●Trim

●URL解码

●URL编码


如果你对系统比较熟悉,可以自己写一个路径的list 文件,然后导入上面的对话框中,查看是否有路径遍历。或者观察 URL 中是否有数字或者有规律的字符,可以用其他数字或者字符替换。


谢谢大家的学习。我们明天见。



相关文章
|
4月前
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
|
4月前
阿萨聊测试:如何用Postman 发送请求?
阿萨聊测试:如何用Postman 发送请求?
|
4月前
|
API
阿萨聊测试: Postman 的界面功能介绍
阿萨聊测试: Postman 的界面功能介绍
|
4月前
|
测试技术 API 芯片
阿萨聊测试:如何在Mac 电脑上安装Postman?
阿萨聊测试:如何在Mac 电脑上安装Postman?
193 0
阿萨聊测试:如何在Mac 电脑上安装Postman?
|
4月前
|
安全 Go
阿萨聊测试 ZAP5: 定制扫描策略
阿萨聊测试 ZAP5: 定制扫描策略
|
4月前
|
SQL JavaScript 前端开发
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
|
21天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
27 0
|
2月前
|
测试技术
现代软件测试中的自动化工具与挑战
传统软件测试面临着越来越复杂的系统架构和不断增长的测试需求,自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的应用和挑战,深入分析其优势与局限性,为软件测试领域的发展提供思路和启示。
|
2月前
|
测试技术 持续交付
现代软件测试中的自动化工具应用与挑战
随着信息技术的快速发展,软件行业对于质量和效率的要求日益提高,自动化测试工具在软件开发过程中扮演着至关重要的角色。本文将探讨现代软件测试中自动化工具的应用现状以及所面临的挑战,旨在帮助开发人员更好地理解并充分利用这一技术手段。
|
3天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】利用AI辅助工具提高软件测试效率与准确性
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。

热门文章

最新文章