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

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

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


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


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


一 . 什么是Fuzz 测试?


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


二. ZAP 的Fuzz 功能入口


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


要打开Fuzzer对话框,可以:

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


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



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



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


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

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

  1. 点击Payloads 按钮。
  2. 在Payloads 位置 点击Add
  3. 选择File Fuzzers


  1. 打开jbrofuzz, 选择SQL Injection, 选择添加,然后开始Fuzz 测试。
  2. 在下方Fuzzer 结果窗口分析所有200 结果的请求,表明注入成功了。


是不是很简单?


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


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

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


  1. 在上图对话框中选择dirbuster.
  2. 添加好payload 后开始Fuzz测试即可。
  3. 有些同学可能说了,URL 上的参数如果要编码怎么办?ZAP为我们提供了一个强大的处理器。


  1. 在Processors 里可以选择对参数进行各种处理,比如密码加密,给参数添加前缀,URL 编码等等。
  2. 通过选择URL 编码,可以实现给payload参数编码。然后开始Fuzz 测试。通过分析结果中的200 请求来判断路径遍历漏洞是否存在。


目前内置的处理器有

  • Base64解码
  • Base64编码
  • 扩展(到指定的最小长度)
  • JavaScript escape
  • JavaScript Unescape
  • MD5哈希
  • 后缀字符串
  • 前缀字符串
  • sha - 1哈希
  • sha - 256散列
  • sha - 512散列
  • Trim

  • URL解码
  • URL编码

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


五. 实践题


学习了如何使用zap 做安全 测试的场景。请大家实践下如何使用Fuzz 暴力破解你所要测试的网站。


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


相关文章
|
7月前
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
362 0
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
|
7月前
|
测试技术 API 芯片
阿萨聊测试:如何在Mac 电脑上安装Postman?
阿萨聊测试:如何在Mac 电脑上安装Postman?
1356 0
阿萨聊测试:如何在Mac 电脑上安装Postman?
|
7月前
|
数据采集 测试技术 网络安全
阿萨聊测试 ZAP3:如何测试HTTPS的Web网站?
阿萨聊测试 ZAP3:如何测试HTTPS的Web网站?
188 0
阿萨聊测试 ZAP3:如何测试HTTPS的Web网站?
|
7月前
阿萨聊测试:如何用Postman 发送请求?
阿萨聊测试:如何用Postman 发送请求?
127 0
|
7月前
|
API
阿萨聊测试: Postman 的界面功能介绍
阿萨聊测试: Postman 的界面功能介绍
|
7月前
|
安全 Go
阿萨聊测试 ZAP5: 定制扫描策略
阿萨聊测试 ZAP5: 定制扫描策略
223 0
|
数据采集 测试技术 网络安全
阿萨聊测试 ZAP3:如何测试HTTPS的Web网站?
大家好,我是阿萨。上一次我们介绍了主动扫描以及使用爬虫去做好主动扫描的教程。有些同学就说了, 现在大部分网站都开始使用HTTPS了,如何使用ZAP 来测试HTTPS的网站呢?今天我们就来介绍下HTTPS的扫描。
282 0
阿萨聊测试 ZAP3:如何测试HTTPS的Web网站?
|
安全 Go
阿萨聊测试 ZAP5: 定制扫描策略
大家好,我是阿萨。前几天我们学习了ZAP 的一些基本用法。已经算ZAP入门了。今天开始我们学习一些ZAP特有的特性。方便大家日常工作中使用。
507 0
阿萨聊测试 ZAP5: 定制扫描策略
|
SQL JavaScript 前端开发
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
大家好,我是阿萨。昨天解决了HTTPS的证书问题,大部分网站都可以扫描了。Web 网站扫描报告的导出,也是那么的像模像样了,开发也不需要找你。只需要看下修复建议,就大概知道如何修复了。
366 0
阿萨聊测试 ZAP4:如何用ZAP 做Fuzz测试?
|
数据采集 Web App开发 安全
阿萨教测试 ZAP 2:如何快速设置代理方试的技巧?
大家好:我是阿萨。昨天讲了最简单的ZAP使用技巧。但是有些URL或者请求使用内置浏览器不是很方便,能不能使用代理工具去抓包?
430 0
阿萨教测试 ZAP 2:如何快速设置代理方试的技巧?