news 2026/7/23 1:39:04

Yakit 入门实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Yakit 入门实战指南

Yakit 入门实战指南


前言

本文是一篇真实实战记录,详细记录了从零开始使用 Yakit 进行渗透测试的完整过程,包括:

完整的工具配置过程(包括遇到的坑和解决方案)
DVWA 登录密码暴力破解实战(完整步骤 + 结果分析)
SQL 注入漏洞检测实战(Fuzzer 批量测试 + 响应分析)
常见问题和踩坑记录(真实遇到的问题和解决方法)

不同于传统的工具教程,本文记录了:

  • 🔧真实的配置过程:SwitchyOmega 代理配置、证书安装、抓包失败的排查
  • 💡实战中的思考:为什么状态码都是 302 但结果不同?响应大小差异说明了什么?
  • 🐛踩过的坑:Edge 浏览器抓不到包、本地靶场流量被排除、空白页面的含义
  • 🎯完整的测试流程:从抓包到爆破,从 payload 测试到结果验证

📋 目录

  1. 前言
  2. Yakit 简介
  3. 下载与安装
  4. 界面布局介绍
  5. 核心功能模块
  6. MITM 劫持实战:DVWA 登录密码爆破⭐ 重点
  7. Web Fuzzer 模糊测试:SQL 注入检测⭐ 重点
  8. 漏洞扫描实战
  9. 常用插件推荐
  10. 与 Burp Suite 对比
  11. 常见问题与踩坑记录⭐ 重点
  12. 总结与经验
  13. 附录:快捷键速查
  14. 参考资料

一、Yakit 简介

什么是 Yakit?

Yakit是由长亭科技开源的一款集成化单兵安全能力平台,类似于 Burp Suite,但功能更强大且完全免费。

核心特点

完全免费- 无需破解,所有功能开箱即用
中文界面- 国人开发,中文文档齐全
功能强大- 集成了代理、扫描、爆破、Fuzzer 等多种功能
插件丰富- 内置大量插件,支持自定义
持续更新- 活跃的开源社区,更新频繁

适用场景

场景说明
渗透测试Web 应用安全测试
漏洞挖掘SQL 注入、XSS、SSRF 等漏洞发现
流量分析HTTP/HTTPS 请求拦截和分析
模糊测试Payload 批量测试
学习研究安全技术学习和研究

二、下载与安装

1. 下载地址

官方网站

https://www.yaklang.com/

GitHub 仓库

https://github.com/yaklang/yakit

2. 安装步骤

Windows 系统:

  1. 下载yakit-windows-xxx.exe安装包
  2. 双击运行安装程序
  3. 选择安装路径(建议默认)
  4. 完成安装

注意事项:

  • ⚠️ 首次启动可能被杀毒软件拦截,需添加信任
  • ⚠️ 需要管理员权限运行
  • ⚠️ 确保端口 8083-8087 未被占用

3. 首次启动

启动 Yakit 后会看到:

  • ✅ 本地 Yak 引擎启动成功
  • ✅ 自动打开浏览器到主界面
  • ✅ 显示欢迎页面

三、界面布局介绍

主界面分区

核心功能模块

模块功能说明
MITM 交互式劫持拦截和修改 HTTP/HTTPS 请求
Web Fuzzer模糊测试,批量发送 Payload
插件执行运行各种安全测试插件
端口扫描扫描目标主机开放端口
漏洞检测自动化漏洞扫描
数据包扫描对历史数据包进行检测
Codec编码/解码工具

四、核心功能模块

1. MITM(中间人劫持)

作用:拦截浏览器和服务器之间的所有请求。

使用场景

  • 分析网站请求流程
  • 手动修改请求参数测试
  • 重放历史请求

2. Web Fuzzer(模糊测试)

作用:对单个请求进行批量 Payload 测试。

使用场景

  • SQL 注入测试
  • 参数爆破
  • 字典攻击

3. 插件执行

作用:运行预置或自定义的安全测试脚本。

常用插件分类

  • 信息收集
  • 漏洞检测
  • 暴力破解
  • 漏洞利用

4. Codec(编解码)

支持的编码

  • Base64
  • URL 编码
  • HTML 实体编码
  • Unicode 编码
  • MD5/SHA1/SHA256 哈希

五、MITM 劫持实战

实战案例:DVWA 登录密码爆破

本节记录一次完整的 Yakit 实战流程:通过 MITM 劫持 + WebFuzzer 暴力破解 DVWA 登录密码。


步骤 1:启动 Yakit 代理

  1. 打开 Yakit
  2. 点击左侧“开启 MITM”标签
  3. 点击右侧橙色按钮“劫持启动”
  4. 确认显示“劫持 HTTP Request 127.0.0.1:8083”

快捷方式:使用“免配置自动劫持启动”功能,Yakit 会自动配置系统代理!


步骤 2:配置浏览器代理

方法 1:SwitchyOmega 插件(推荐)

安装插件

  • Chrome 浏览器:访问 Chrome 网上应用店搜索 “Proxy SwitchyOmega”
  • 点击"添加至 Chrome"安装

配置代理

  1. 点击浏览器右上角 SwitchyOmega 图标
  2. 选择“选项”
  3. 点击“新建情景模式”→ 选择“代理服务器”
  4. 情景模式名称:yakit
  5. 填写代理信息:
    代理协议: HTTP 代理服务器: 127.0.0.1 代理端口: 8083
  6. 点击“应用选项”保存

重要配置

  • 不代理的地址列表:建议清空(或注释掉127.0.0.1localhost
  • 这样才能抓取本地靶场的流量

启用代理

  • 点击浏览器右上角 SwitchyOmega 图标
  • 选择“yakit”情景模式

方法 2:免配置启动(最简单)

如果你使用 Yakit 的“免配置自动劫持启动”功能:

  • Yakit 会自动配置系统代理
  • 所有浏览器都会自动走代理
  • 无需手动设置

步骤 3:访问 DVWA 并抓包

  1. 在浏览器中访问 DVWA 登录页面

    http://127.0.0.1/dvwa/login.php
  2. 输入测试账号密码

    • 账号:admin(正确的账号)
    • 密码:1(故意输错)
  3. 点击 Login,但不要手动提交

  4. 切换到 Yakit 窗口,观察 MITM 界面:

  • 左侧“交互劫持”标签页会显示抓到的请求数量增加
  • 中间表格区域会显示 HTTP 请求列表
  1. 找到登录的 POST 请求
    POST /dvwa/login.php HTTP/1.1
    • 状态码通常是302(重定向)
    • 可以点击查看请求详情

步骤 4:发送到 WebFuzzer

  1. 在 MITM 请求列表中找到登录的 POST 请求
  2. 右键点击该请求
  3. 选择 “发送到 WebFuzzer”
  4. 自动跳转到 “Web Fuzzer” 标签页

现在你会看到完整的 HTTP 请求:

POST /dvwa/login.php HTTP/1.1 Host: 127.0.0.1 ... Cookie: security=impossible; PHPSESSID=3i0v2j7j8h6j2845f3niq091na username=admin&password=1&Login=Login&user_token=4d5ef4b9e45b36c9b8c36d18a2173bab

关键参数:最后一行的password=1就是我们要爆破的目标!


步骤 5:配置 Fuzztag 爆破字典

  1. 在 WebFuzzer 界面找到最后一行(请求体):

    username=admin&password=1&Login=Login&user_token=...
  2. 选中password=1中的1

  3. 点击顶部工具栏的 “Fuzztag” 按钮

  4. 弹出字典配置窗口,输入常见密码字典

    admin password admin123 123456 root 12345678 test qwerty
  5. 点击 “确定输入字典”

  6. Yakit 会自动生成 Fuzztag 标记,类似:

    username=admin&password={{fuzztag}}&Login=Login&user_token=...
  7. 点击左上角橙色的 “发送” 按钮


步骤 6:分析爆破结果

Fuzzer 开始批量发送请求,右侧会显示结果表格:

序号Method状态码邮编延迟(ms)Payloads
1POST302039admin123
2POST30201049123
3POST30201095123456
4POST30201128password

分析要点

  1. 状态码:所有请求都返回302 Found(重定向)
    • 登录成功 → 重定向到index.php
    • 登录失败 → 重定向到login.php

  1. 查看重定向地址

    • 点击每一行
    • 在响应区域查看Location响应头
    • 如果Location: index.php密码正确!
    • 如果Location: login.php→ 密码错误
  2. 响应时间

    • 第 1 行响应 39ms,其他都是 1000+ms
    • 响应时间差异可以作为判断依据之一

步骤 7:验证成功的密码

逐个点击结果行,查看响应头

HTTP/1.1 302 Found Location: index.php ← 登录成功!

找到成功的密码(本例中是password)后:

  1. 在浏览器中验证

    • 账号:admin
    • 密码:password
    • 点击 Login
  2. 成功登录 DVWA


实战总结

成功步骤回顾

  1. 启动 Yakit MITM 劫持
  2. 配置浏览器代理(SwitchyOmega 或免配置启动)
  3. 访问 DVWA 登录页,输入正确账号 + 错误密码
  4. 在 Yakit 中抓取登录 POST 请求
  5. 发送到 WebFuzzer
  6. 配置 Fuzztag 密码字典
  7. 批量发送请求
  8. 分析响应头的Location字段
  9. 找到重定向到index.php的密码 → 爆破成功!

📊实战数据

  • 测试字典:8 个常见密码
  • 发送请求:8 次
  • 成功密码:password
  • 耗时:约 5 秒

💡关键技巧

  • 使用免配置启动可以省去手动配置代理的麻烦
  • 抓取本地靶场流量时,要删除 SwitchyOmega 的127.0.0.1localhost排除规则
  • 判断爆破成功的标准是Location响应头,而不是状态码
  • 响应时间和响应大小的差异也可以作为判断依据

六、Web Fuzzer 模糊测试

什么是 Web Fuzzer?

类似于 Burp Suite 的 Intruder,用于批量发送修改后的请求。


实战案例:SQL 注入漏洞检测

本节演示如何使用 WebFuzzer 对 DVWA 的 SQL 注入页面进行测试。


步骤 1:准备测试环境

  1. 确认 DVWA 安全等级为 Low

    • 登录 DVWA
    • 点击左侧菜单“DVWA Security”
    • 将安全等级设置为“Low”
    • 点击“Submit”
  2. 访问 SQL 注入测试页面

    http://127.0.0.1/dvwa/vulnerabilities/sqli/
  3. 测试正常查询

    • 在 “User ID” 输入框输入:1
    • 点击“Submit”
    • 应该显示:
      ID: 1 First name: admin Surname: admin

步骤 2:抓取 SQL 注入测试请求

  1. 确保 Yakit MITM 已启动

  2. 在浏览器中输入1并点击 Submit

  3. 切换到 Yakit MITM 标签页

  4. 找到 SQL 注入测试的 GET 请求

    GET /dvwa/vulnerabilities/sqli/?id=1&Submit=Submit HTTP/1.1
    • 状态码:200 OK
    • 这个请求才是真正包含查询结果的
  5. 右键点击该请求 → “发送到 WebFuzzer”


步骤 3:配置 SQL 注入测试字典

在 WebFuzzer 界面,你会看到完整的 GET 请求:

GET /dvwa/vulnerabilities/sqli/?id=1&Submit=Submit&user_token=... HTTP/1.1 Host: 127.0.0.1

关键参数:URL 中的id=1就是我们要测试的注入点。

配置 Fuzztag 字典

  1. 选中 URL 中的1id=后面的数字)
  2. 点击 “Fuzztag” 按钮
  3. 输入 SQL 注入测试字典

1 1' 1" 1') 1") 1')) 1")) 1' OR '1'='1 1" OR "1"="1 1') OR ('1'='1 1") OR ("1"="1 1' OR 1=1-- 1' OR 1=1# 1' UNION SELECT NULL-- 1') UNION SELECT NULL-- ' OR '1'='1 " OR "1"="1 admin' OR '1'='1 admin') OR '1'='1
  1. 点击 “确定输入字典”
  2. 点击 “发送” 开始测试

步骤 4:分析测试结果

Fuzzer 执行后,右侧会显示结果表格

序号Method状态码邮编大小延迟(ms)Payloads操作
1GET400222021’ OR ‘1’='1-
2GET400222011’) OR ‘1’='1-
3GET400222051’ OR 1=1–-
-
13GET3020301’-
14GET3020721"-
15GET30201061’)-
16GET30201351-
17GET302010471’)-
18GET302010641’))-
19GET302012511’))-

结果分析

  1. 状态码 400 的请求(前 12 行)

    • 复杂的 SQL 注入 payload 被服务器拒绝
    • 可能触发了某些过滤或验证机制
    • 响应大小都是 2220 字节
  2. 状态码 302 的请求(第 13-19 行)

    • 简单的闭合测试返回了 302 重定向
    • 响应大小差异明显:30, 72, 106, 135, 1047, 1064, 1251 字节
    • 响应大小不同说明查询返回了不同的数据
  3. 重点关注第 17-19 行

    • 响应超过 1000 字节
    • Payload:1')1'))
    • 可能成功闭合了 SQL 语句

步骤 5:验证注入点

点击第 19 行(响应最大的那一行),查看响应详情:

HTTP/1.1 302 Found Location: index.php Content-Type: text/html; charset=UTF-8

注意:DVWA 的 SQL 注入测试页面可能返回 302 重定向,这是因为:

  • Session 管理机制
  • 或者测试环境的配置问题

更可靠的测试方法 — 在浏览器中验证

  1. 在浏览器的 User ID 输入框中输入1'
  2. 点击 Submit
  3. 观察页面返回
    • 如果显示 SQL 错误信息 → 存在注入漏洞
    • 如果显示空白 → SQL 查询失败,但没有显示错误
    • 如果显示正常结果 → 输入被过滤或转义

布尔盲注测试

输入: 1' AND '1'='1 预期: 应该返回 ID: 1 的数据(条件为真) 输入: 1' AND '1'='2 预期: 应该返回空白(条件为假)

如果两次测试结果不同,说明存在布尔盲注漏洞


实战经验总结

💡关键发现

  1. 响应大小是关键指标

    • 响应大小明显不同,说明 SQL 查询返回了不同的结果
    • 可以作为判断注入成功的依据
  2. 不同的闭合方式

    • 简单闭合'可能不够
    • 需要尝试'),")),'))等不同闭合方式
    • 取决于后端 SQL 语句的结构
  3. 状态码和重定向

    • 302 重定向可能是 session 或权限问题
    • 不能只依赖状态码判断
    • 需要结合响应内容和响应大小综合分析
  4. WAF 和过滤

    • 复杂的 payload(如OR 1=1,UNION SELECT)容易被拦截
    • 简单的闭合测试(',",'))更不容易触发防护
    • 实战中需要绕过 WAF 的技巧

📊测试数据

  • 测试字典:19 个 SQL 注入 payload
  • 发送请求:19 次
  • 成功响应:7 个(状态码 302)
  • 异常响应:3 个(响应大小 > 1000 字节)

🎯下一步行动

  • 使用 SQLMap 进一步自动化测试
  • 尝试手工构造 UNION 注入语句
  • 测试其他注入类型(报错注入、时间盲注)

常用 Fuzztag 标签语法

Yakit 支持的 Payload 类型:

标签语法说明示例
{{int(1-100)}}整数范围生成 1 到 100
{{file(路径)}}从文件读取字典文件
{{x(payload)}}内置字典{{x(sql-inject)}}
{{list(a|b|c)}}自定义列表a, b, c
{{rand(10)}}随机字符串10 位随机字符

实战案例:使用内置 SQL 注入字典

GET /dvwa/vulnerabilities/sqli/?id={{x(sql-inject)}}&Submit=Submit HTTP/1.1

Yakit 会自动加载内置的 SQL 注入 Payload 字典并批量测试。


七、漏洞扫描实战

1. 插件扫描

步骤:

  1. 点击左侧“插件”
  2. 选择“基础爬虫”“全端口扫描”
  3. 输入目标 URL
  4. 点击“开始执行”

2. 主动扫描

步骤:

  1. 在 MITM 中选中目标请求
  2. 右键 →“对该目标进行主动扫描”
  3. 选择扫描插件(SQL 注入、XSS、SSRF 等)
  4. 开始扫描

3. 查看扫描结果

扫描完成后:

  • “数据库”“漏洞与风险”中查看
  • 点击漏洞可查看详细信息
  • 包括 Payload、响应内容、修复建议

八、常用插件推荐

信息收集类

插件名称功能
基础爬虫爬取网站所有链接
子域名收集枚举子域名
目录扫描扫描敏感目录
端口扫描扫描开放端口

漏洞检测类

插件名称功能
SQL 注入检测自动化 SQL 注入测试
XSS 检测跨站脚本漏洞检测
SSRF 检测服务端请求伪造
文件上传检测文件上传漏洞

暴力破解类

插件名称功能
弱口令检测常见弱密码爆破
后台爆破后台登录爆破

如何安装插件

  1. 点击顶部“插件商店”
  2. 搜索需要的插件
  3. 点击“下载”
  4. 插件会自动添加到本地

九、与 Burp Suite 对比

对比项YakitBurp Suite
价格完全免费专业版需付费($399/年)
界面语言中文英文
上手难度简单中等
插件生态丰富(免费)非常丰富(部分收费)
功能完整性覆盖 90% 场景覆盖所有场景
性能较快较慢(Java)
社区支持中文社区活跃国际社区成熟

我应该用哪个?

推荐 Yakit 的情况:

  • ✅ 初学者入门
  • ✅ 预算有限
  • ✅ 中文环境友好
  • ✅ 日常渗透测试

推荐 Burp Suite 的情况:

  • ✅ 专业渗透测试
  • ✅ 需要特定高级功能
  • ✅ 团队协作
  • ✅ 已有 Burp 使用经验

最佳实践:两者结合使用,Yakit 作为主力,Burp Suite 作为补充。


十、 常见问题与踩坑记录


问题 1:MITM 看不到任何请求

现象:启动 MITM,配置好代理,但浏览器访问网站时 Yakit 没有任何请求显示。

原因

  1. 浏览器代理未生效
  2. 过滤规则太严格
  3. 访问的是本地网站(127.0.0.1 默认被排除)
  4. SwitchyOmega 的不代理列表包含了127.0.0.1localhost(最常见)

解决方案

方案 1:修改 SwitchyOmega 不代理列表(推荐)

这是最常见的问题!

  1. 点击浏览器右上角 SwitchyOmega 图标
  2. 选择 “选项”
  3. 找到你创建的 yakit 情景模式
  4. 向下滚动到 “不代理的地址列表”
  5. 你会看到
    127.0.0.1 [::1] localhost
  6. 删除或注释掉这些行(特别是127.0.0.1localhost
  7. 点击 “应用选项” 保存
  8. 刷新浏览器页面

为什么要这样做?

  • 默认情况下,SwitchyOmega 会排除本地地址
  • 这意味着访问http://127.0.0.1/dvwa的流量不会走代理
  • Yakit 就抓不到本地靶场的流量

方案 2:使用免配置启动

最简单的方法:

  1. 在 Yakit 中点击“免配置自动劫持启动”
  2. Yakit 会自动配置系统代理
  3. 所有浏览器都会自动走代理,包括本地流量

方案 3:确认代理生效

测试代理是否正常

在浏览器访问这个测试页面: http://mitm

如果能看到 Yakit 的测试页面,说明代理正常。


方案 4:调整过滤规则
  • MITM 界面 →“过滤器”
  • 暂时关闭所有过滤
  • 或添加例外规则

方案 5:检查浏览器代理状态

Edge 浏览器特殊情况

  • Edge 虽然是 Chromium 内核,但对扩展代理支持不如 Chrome
  • 某些情况下会忽略扩展设置的代理
  • 建议使用 Chrome + SwitchyOmega 或 Yakit 免配置启动

验证代理是否生效

  • 点击 SwitchyOmega 图标
  • 确认当前选中的是 “yakit” 情景模式(不是"直接连接"或"系统代理")

问题 2:Web Fuzzer 标签语法不生效

现象:设置了{{int(1-100)}},但只发送了一次请求,没有批量发送。

原因:标签语法格式错误。

解决方案

正确的标签格式

{{int(1-100)}} ✅ 正确 {{ int(1-100) }} ❌ 错误(多了空格) {int(1-100)} ❌ 错误(少了一对大括号)

常见标签语法

{{int(1-100)}} # 整数范围 {{list(admin|root|test)}} # 列表(注意是竖线 | 不是反斜杠) {{file(dict.txt)}} # 文件路径(相对或绝对) {{x(sql-inject)}} # 内置字典

问题 3:插件执行报错

现象:执行插件时报错 “引擎错误” 或 “脚本执行失败”。

原因

  1. 插件版本不兼容
  2. 目标 URL 格式错误
  3. 缺少依赖

解决方案

更新插件

  • 插件商店 → 检查更新
  • 删除旧版本重新安装

检查 URL 格式

✅ http://localhost/dvwa ✅ https://example.com ❌ localhost/dvwa (缺少协议) ❌ http://localhost:80/ (多余的端口)

查看详细错误

  • 点击错误提示查看完整日志
  • 根据错误信息调整参数

问题 4:扫描结果中没有发现漏洞

现象:对目标进行扫描,显示"扫描完成",但漏洞列表为空。

原因

  1. 目标确实没有漏洞(可能性较小)
  2. 扫描插件选择不当
  3. 目标有 WAF 防护
  4. 扫描参数配置错误

解决方案

用已知漏洞靶场测试

  • 先扫描 DVWA(Security Level: Low)
  • 如果能扫出漏洞,说明工具正常

调整扫描插件

  • 选择“全量插件扫描”
  • 或手动勾选 SQL 注入、XSS 等常见漏洞插件

查看扫描日志

  • 数据库 → HTTP History
  • 查看发送了哪些 Payload
  • 检查响应是否正常

问题 5:Yakit 卡顿或崩溃

现象:使用一段时间后,Yakit 界面卡顿,响应缓慢,甚至崩溃。

原因

  1. 请求历史过多,占用内存
  2. 插件死循环
  3. 电脑配置不足

解决方案

清理历史数据

  • 数据库 → HTTP History
  • 点击“清空数据”

限制历史记录数量

  • 设置 → MITM 配置
  • “最大历史记录”改为 1000 或更小

重启 Yakit

  • 保存当前工作
  • 完全退出后重新启动

十一、总结与经验

✅ 核心功能回顾

  1. MITM 劫持- 拦截和修改请求,手动测试
  2. Web Fuzzer- 批量测试 Payload,自动化测试
  3. 插件扫描- 一键扫描常见漏洞
  4. 编码工具- 快速编解码

完整实战流程回顾

本文通过两个真实案例,演示了 Yakit 的完整使用流程:

案例 1:DVWA 登录密码暴力破解

目标:通过 Yakit 爆破 DVWA 登录密码

步骤

  1. ✅ 启动 Yakit MITM 劫持(使用"免配置启动")
  2. ✅ 配置浏览器代理(SwitchyOmega,删除127.0.0.1排除规则)
  3. ✅ 访问 DVWA 登录页面,输入正确账号 + 错误密码
  4. ✅ 在 Yakit 中抓取登录 POST 请求
  5. ✅ 发送到 WebFuzzer
  6. ✅ 配置 Fuzztag 密码字典(8 个常见密码)
  7. ✅ 批量发送请求,分析响应
  8. ✅ 查看响应头Location字段,找到Location: index.php的密码
  9. 成功找到密码:password

关键技巧

  • 判断登录成功的标准是Location响应头,而不是状态码
  • 所有密码测试都返回 302,但重定向地址不同
  • Location: index.php= 登录成功
  • Location: login.php= 登录失败

案例 2:SQL 注入漏洞检测

目标:使用 WebFuzzer 检测 DVWA SQL 注入漏洞

步骤

  1. ✅ 确认 DVWA 安全等级为 Low
  2. ✅ 访问 SQL 注入测试页面
  3. ✅ 输入正常参数id=1,抓取 GET 请求
  4. ✅ 发送到 WebFuzzer
  5. ✅ 配置 SQL 注入测试字典(19 个 payload)
  6. ✅ 批量测试,分析响应大小和状态码
  7. ✅ 发现响应大小差异明显的 payload
  8. ✅ 在浏览器中验证注入点

关键发现

  • 复杂 payload(OR 1=1,UNION SELECT)返回 400,被拦截
  • 简单闭合测试(',",'))返回 302
  • 响应大小是关键指标:1047, 1064, 1251 字节的响应需要重点关注
  • 不同的闭合方式(','),')))可能对应不同的 SQL 语句结构

实战经验

  • 浏览器测试结果:输入1'后页面返回空白
  • 空白页面 ≠ 没有漏洞,可能是:
    • SQL 语法错误导致查询失败
    • PHP 配置隐藏了错误信息
    • 需要尝试布尔盲注或时间盲注
  • 建议结合多种测试方法:错误注入、布尔盲注、UNION 注入

使用技巧总结

  1. 代理配置

    • ✅ 使用 SwitchyOmega 快速切换代理
    • 删除127.0.0.1localhost排除规则(测试本地靶场的关键!)
    • ✅ 或使用 Yakit 的"免配置启动"功能
  2. 证书安装

    • ✅ 首次使用必须安装 CA 证书到"受信任的根证书颁发机构"
    • ✅ 安装后重启浏览器
  3. 抓包技巧

    • ✅ 区分不同的请求类型(GET/POST)
    • ✅ 注意状态码(200/302/400)的含义
    • ✅ 关注响应头(特别是Location
    • 响应大小差异是重要的判断依据
  4. Fuzzer 测试

    • ✅ 从简单 payload 开始测试
    • ✅ 观察响应大小、状态码、响应时间
    • ✅ 对异常响应进行深入分析
    • ✅ 结合浏览器手工验证
  5. 插件管理

    • ✅ 定期更新插件库
    • ✅ 根据测试目标选择合适的插件
  6. 数据管理

    • ✅ 及时导出扫描结果和历史数据
    • ✅ 定期清理历史数据,避免卡顿
  7. 过滤规则

    • ✅ 设置过滤规则,排除静态资源请求(.jpg、.css、.js)
    • ✅ 但不要过度过滤,避免遗漏重要请求
  8. 性能优化

    • ✅ 定期清理历史数据
    • ✅ 限制最大记录数(建议 1000 条)

实战建议

  1. 先熟悉基础功能

    • MITM 劫持 → WebFuzzer 测试 → 插件扫描
    • 按照本文案例逐步练习
  2. 结合靶场练习

    • DVWA(推荐初学者)
    • SQL-LABS(SQL 注入专项训练)
    • Pikachu(多种漏洞类型)
    • Upload-labs(文件上传漏洞)
  3. 多看官方文档

    • https://www.yaklang.com/docs
    • 官方文档有更多高级用法
  4. 加入社区交流

    • 官方微信群、知识星球
    • GitHub Issues 提问
  5. 对比 Burp Suite

    • 同一个靶场用两个工具测试
    • 对比差异,理解不同工具的优势
  6. 记录实战过程

    • 遇到的问题和解决方案
    • 成功的 payload 和测试方法
    • 积累自己的漏洞字典

⚠️ 注意事项

  1. 仅用于授权测试

    • 未经授权的渗透测试是违法行为
    • 本文所有案例均在本地靶场环境中进行
  2. 数据安全

    • 不要在生产环境使用
    • 测试数据不要包含真实敏感信息
  3. 网络隔离

    • 建议在虚拟机或隔离网络中测试
    • 避免影响正常业务
  4. 及时更新

    • 保持 Yakit 和插件为最新版本
    • 关注官方更新日志
  5. 记录学习过程

    • 遇到问题及时记录
    • 成功的测试方法保存下来
    • 建立自己的知识库

常见坑点提醒

坑点 1:SwitchyOmega 排除了本地地址

  • ❌ 症状:访问http://127.0.0.1/dvwa时 Yakit 抓不到包
  • ✅ 解决:删除 SwitchyOmega 中的127.0.0.1localhost排除规则

坑点 2:Edge 浏览器代理不生效

  • ❌ 症状:配置了 SwitchyOmega,但 Edge 不走代理
  • ✅ 解决:使用 Chrome 浏览器,或使用 Yakit 的"免配置启动"

坑点 3:只看状态码判断成功/失败

  • ❌ 症状:所有密码测试都返回 302,以为都失败了
  • ✅ 解决:查看Location响应头,不同的重定向地址代表不同结果

坑点 4:忽略响应大小差异

  • ❌ 症状:认为状态码相同就是相同的响应
  • ✅ 解决:关注响应大小,差异明显的响应往往隐藏着关键信息

坑点 5:浏览器测试返回空白就放弃

  • ❌ 症状:输入1'后页面空白,以为没有漏洞
  • ✅ 解决:空白 ≠ 无漏洞,尝试布尔盲注、时间盲注等其他测试方法

附录:快捷键速查

快捷键功能
Ctrl + R重放请求
Ctrl + F搜索
Ctrl + I劫持请求
Ctrl + E编码/解码
Ctrl + S保存当前数据

参考资料

  • Yakit 官方文档
  • Yakit GitHub
  • Yakit 插件市场
  • 长亭科技官网

本文所有实战案例均在本地隔离环境中的合法靶场上进行,仅用于学习和研究目的

⚠️重要提醒:未经授权对他人系统进行渗透测试是违法行为

请仅在自己搭建的测试环境获得明确授权的系统上进行安全测试

本文作者不对读者的任何违法行为负责

请遵守《中华人民共和国网络安全法》等相关法律法规

合法使用,技术向善。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 1:37:22

【实战项目】基于 PyQt5 开发 Windows 磁盘分析与清理工具

作者:donoot | 版本:v0.11 项目概述 SysDriMan 是一款基于 Python 和 PyQt5 开发的 Windows 磁盘分析与清理工具,旨在帮助用户快速了解磁盘空间使用情况,管理大文件和已安装软件,清理系统垃圾文件。 项目地址&#x…

作者头像 李华
网站建设 2026/7/23 1:35:55

Llama 4开源大模型:4000亿参数平民化部署实战

1. Llama 4开源革命:4000亿参数模型的平民化突破当Meta宣布Llama 4以完全免费的Apache 2.0许可证开源时,整个AI行业的地基发生了震动。这个拥有4000亿参数的庞然大物,不仅打破了商用大模型的技术壁垒,更关键的是它让普通开发者第一…

作者头像 李华
网站建设 2026/7/23 1:35:05

零基础入门AI:10个实战方法与避坑指南

1. 为什么普通人需要学习AI?在2023年,全球AI市场规模已经突破5000亿美元,麦肯锡最新报告显示,87%的企业正在将AI技术纳入业务流程。但更关键的是,AI不再只是科技公司的专利——它正在像当年的互联网一样,渗…

作者头像 李华
网站建设 2026/7/23 1:34:02

Tomcat生产环境配置优化与高可用实践

1. 生产环境Tomcat配置的核心考量在互联网企业的Java Web服务部署中,Tomcat作为轻量级应用服务器承担着关键角色。与开发环境不同,生产环境的配置需要兼顾性能、安全性和稳定性三大维度。我曾参与过某电商平台从测试环境到生产环境的迁移,当时…

作者头像 李华