自学内容网 自学内容网

#渗透测试#红蓝对抗#SRC漏洞挖掘# Yakit(6)进阶模式-Web Fuzzer 的小功能

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。

目录

新建 Web Fuzzer

从 Web Fuzzer 页面中新建

从历史(History)页面中新建

从 MITM 交互式劫持页面中新建

分享与导入

分享

导入

历史

从历史按钮查看具体历史

通过箭头按钮快速切换历史

构造请求

通过URL构造 Web Fuzzer

通过CURL构造 Web Fuzzer

复制请求

复制为URL

复制为CURL

复制为 CSRF POC

在浏览器中打开

跟随重定向

编码与解码

使用右键进行编码与解码

* 使用悬浮框进行编码与解码

HTTP请求包变形

* 自定义HTTP请求包变形


新建 Web Fuzzer

从 Web Fuzzer 页面中新建

点击加号即可新建一个新的 Web Fuzzer 。新建的 Web Fuzzer 页面默认请求包是一个发送给exmaple.com网站的POST请求。

另外,你也可以在一个 Web Fuzzer 中,右键选择新建 WebFuzzer按钮或者使用快捷键(ctrl+R),这样做会将当前的 Web Fuzzer 复制一份。

从历史(History)页面中新建

当我们在历史页面选中一个请求包时,右键选择新建 WebFuzzer按钮或者使用快捷键(ctrl+R),即可新建一个 Web Fuzzer 并跳转到 Web Fuzzer 页面。

从 MITM 交互式劫持页面中新建

当我们在 MITM 模块中劫持到一个请求包时,右键选择新建 WebFuzzer按钮或者使用快捷键(ctrl+shift+R),即可新建一个 Web Fuzzer 并跳转到 Web Fuzzer 页面。

分享与导入

在某些情况下,我们可能需要将当前的 Web Fuzzer 分享给别人,这时候最常见的做法是将整个数据包复制下来。但是这么做会有一些问题,比如说别人从聊天软件中复制下来的数据包可能会丢失 / 被修改了某些内容,这样就会导致数据包不正常。

一个更好的方法是使用 Web Fuzzer 的分享/导入按钮,这会将 Web FUzzer 暂存到云端,然后其他人可以通过复制分享密令来导入这个 Web Fuzzer。

分享

点击分享/导入按钮,再点击分享当前 Web Fuzzer,设置好选项后,即可点击生成分享密令按钮生成分享命令,最后点击复制分享按钮即可复制分享命令。

导入

点击分享/导入按钮,再点击导入 Web Fuzzer,输入别人分享给你的分享密令,即可导入别人分享给你的 Web Fuzzer。

历史

我们经常会有这样的需求:需要查看以前发送过的请求包,或者需要重新发送以前发送过的请求包。这时候我们就可以使用 Web Fuzzer 的历史功能。

从历史按钮查看具体历史

当我们在一个 Web Fuzzer 发送了多个请求包之后,我们可以通过点击历史按钮来查看当前 Web Fuzzer 的历史记录。鼠标悬浮在某次历史记录即可快速预览该历史发送的请求包,或者点击某次历史记录,可以将 Web Fuzzer 切换到这次历史记录中,查看这次历史记录的请求包与响应包。

通过箭头按钮快速切换历史

当我们在一个 Web Fuzzer 发送了多个请求包之后,我们可以通过点击左/右箭头来切换上一个/下一个历史记录。

构造请求

有时候,我们会有这样的需求:通过输入一个URL或者一个CURL命令,来快速构造一个 Web Fuzzer 。这时候我们就可以使用 Web Fuzzer 的构造请求功能。

通过URL构造 Web Fuzzer

点击构造请求按钮,选择URL选项,输入URL地址,再按下构造请求按钮,我们就可以快速构造一个GET请求的 Web Fuzzer 了。

通过CURL构造 Web Fuzzer

点击构造请求按钮,选择CURL选项,输入CURL命令,如curl -X POST -H 'Content-Type: application/json' -d '{"key": "value"}' 'http://pie.dev/post',再按下构造请求按钮,我们就可以快速构造一个 Web Fuzzer 了。

复制请求

复制请求与构造请求的功能相反,它将一个 Web Fuzzer 复制为一个URL或者CURL命令。这样方便我们使用其他软件或工具来发送这个请求包。

复制为URL

在一个 Web Fuzzer 中右键,选择复制为URL按钮,即可将当前 Web Fuzzer 复制为一个URL。

复制为CURL

在一个 Web Fuzzer 中右键,选择复制curl 命令,即可将当前 Web Fuzzer 复制为 curl 命令。之后就可以使用 curl 工具来发送该请求包。

复制为 CSRF POC

在一个 Web Fuzzer 中右键,选择复制为 CSRF POC,即可将当前 Web Fuzzer 复制为 CSRF 的POC。这个POC是一个HTML网页,网页上存在一个按钮,当点击这个按钮时,会自动向该请求包的目标网站发送请求包。

在浏览器中打开

有时候,我们想要在浏览器中查看当前 Web Fuzzer 的响应包,这时候我们就可以使用在浏览器中打开功能。一共有两种方式:

  1. 在响应包中右键,选择在浏览器中打开按钮,即可在浏览器中打开当前 Web Fuzzer 的响应包。
  2. 点击响应包中的 chrome 浏览器图标,即可在chrome浏览器中打开当前 Web Fuzzer 的响应包。

跟随重定向

在 Web Fuzzer 中,我们跟随重定向有两种方式,第一种在[三、高级配置](/products/expert-mode/Web Fuzzer/additional-configuration.md)中已经介绍过了,配置了重定向配置后会自动进行重定向,这里我们介绍第二种方式,我们以下图为例:

我们访问了https://baidu.com,此时网站会将我们重定向到https://www.baidu.com。此时响应包中存在Location请求头,那么在 Web Fuzzer 上侧就会出现跟随重定向按钮。

我们点击跟随重定向按钮,即可跟随重定向到https://www.baidu.com

编码与解码

我们经常会有对请求包中的数据进行编码与解码的需求,这时候我们就可以使用 Web Fuzzer 的编码与解码功能。

使用右键进行编码与解码

在 Web Fuzzer 中,我们选中了一段数据后,可以右键对其进行编码与解码,在右键中内置了一些场景的编码与解码选项:

当我们选择了其中一个选项后,会弹出一个窗口显示编码/解码后的效果,此时再点击替换内容,即可将原来的内容替换为编码/解码后的内容:

* 使用悬浮框进行编码与解码

这是yakit最近新增的功能,当你在Web Fuzzer中鼠标点选了某个位置时,会弹出一个悬浮框,在这个悬浮框中你选择对选择的内容进行编码和解码。

当我们选择了其中一个编码时,内容并不会被编码,而是使用了 fuzztag 来将其包裹,这会在 Web Fuzzer 真正发送请求前才将其编码。

当我们选择解码时,会进行智能解码的方式,即会自动判断编码类型,然后进行解码,之后选择一个你认为正确的内容,可以对选中的内容进行替换:

HTTP请求包变形

这个功能可以对请求包进行一些变形,例如将GET请求变为POST请求,或者将POST请求变为GET请求等等。在 Web Fuzzer 中,我们可以通过右键选择HTTP请求包变形按钮来进行请求包变形:

* 自定义HTTP请求包变形

这是yakit最近新增的功能,这个功能允许你编写一个codec插件,通过 Yak 代码来将请求包进行灵活变形。我们以一个简单的例子来说明这个功能,首先我们打开插件 - 本地,新建插件:

选择 Codec 模块,并打开用于自定义HTTP数据包变形

接下来我们简单地编写插件,我们使用poc.AppendHTTPPacketHeader()函数来为原始的请求包增加一个AAA头,其值为BBB,并给这个插件取名,需要注意的是最后返回值使用string()函数来将 []byte 类型转换为 stirng 类型:

接下来我们保存插件,然后打开一个新的 Web Fuzzer,这时候会发现我们的自定义插件已经出现在HTTP请求包变形的选项中了:

点击这个选项,我们会发现请求包已经被修改,成功添加了请求头:


原文地址:https://blog.csdn.net/m0_62828084/article/details/144386400

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!