目录
本系列为《pikachu靶场通关笔记》渗透实战系列,本文通过Yakit工具的Web Fuzzer模块完成第01关基于表单的暴力破解关卡。
一、暴力破解
暴力破解(Brute Force Attack)是一种通过系统化尝试所有可能组合来破解认证信息的攻击方式,其核心是利用系统缺乏有效的防护机制。
-
无尝试限制:系统未对连续失败的登录请求进行拦截或延迟,允许攻击者无限次尝试。
-
弱密码策略 :用户使用简单密码(如
123456
、admin
等),使暴力破解效率大幅提升。
暴力破解渗透步骤如下所示。
| 步骤 | 关键操作 |
| 1. 目标分析 | 确定登录入口(Web/SSH/RDP等) |
| 2. 信息收集 | 枚举有效用户(错误提示/社工) |
| 3. 字典准备 | 收集/生成弱密码(如123456、admin) |
| 4. 工具配置 | 设置目标URL/IP、用户名字典、密码字典 |
| 5. 发起攻击 | 自动化提交组合(高频/低速绕过防护) |
6. 结果验证 | 检查成功响应(如"Welcome"或会话建立) |
---|
二、Yakit工具
Yakit (Yak Interactive Toolkit)是一款基于国产安全编程语言 Yaklang 开发的网络安全单兵工具,旨在通过图形化界面(GUI)降低安全能力的使用门槛,覆盖渗透测试、流量分析等全流程任务。其核心定位是成为 BurpSuite 的国产替代与超越者,同时融合多种安全能力于一体。
模块分类 | 核心功能 | 技术特点 | 对标工具/场景 |
---|---|---|---|
流量分析 | MITM 中间人代理 | - 支持 HTTP/HTTPS 流量拦截、修改、重放 - 自动解码参数、可视化历史记录分析 | BurpSuite Proxy / Fiddler |
流量分析 | Web Fuzzer | - 全球首个可视化模糊测试工具 - 标签化参数操作、多线程并发、自动生成攻击载荷 | Burp Intruder / OWASP ZAP |
扫描检测 | 专项扫描检测 | - 集成 Nuclei 生态 - 一键检测常见安全风险 | Nuclei / Xray |
扫描检测 | 反序列化利用 | - 原生支持 Java 反序列化 - 内置 Yak 实现的 ysoserial 等效功能 | ysoserial / Marshalsec |
自动化扩展 | Yaklang 插件系统 | - 支持 Yaklang 编写插件 - 无需前端知识即可扩展扫描等功能 | BurpSuite 插件 / Python 脚本 |
自动化扩展 | Yak Cloud IDE | - 在线编写/调试 Yak 脚本 - 内置安全风险检测模板库 | VS Code + 安全插件 |
内网渗透 | Teamserver 协同模式 | - 支持本地/远程 gRPC 服务 - Bridge 模式实现内网穿透(替代 frp) | Cobalt Strike / Metasploit |
内网渗透 | Shell 管理 | - 开启 TCP 服务器接收反弹 Shell - 支持交互式命令执行、文件上传下载 | Netcat / C2 框架 |
辅助工具 | 端口扫描 | - 快速识别开放端口和服务 - 集成 SYN 扫描、服务指纹识别 | Nmap / Masscan |
辅助工具 | 数据编解码工具 | - 内置 Base64、Hex、JSON 等编解码 - 支持自定义加密解密逻辑 | CyberChef |
三、渗透实战
1、进入Yakit免配置启动页面
我们先进入yakit渗透测试对应的渗透测试工具MITM模块,如下图所示。

点击免配置启动,如下图所示。

在弹框页面点击启动免配置chrome,如下图绿色箭头对应的绿框内容所示。

此时弹出一个chrome浏览器页面,只需在地址栏输入靶场地址即可渗透。

2、打开pikachu靶场
打开pikachu靶场,具体如下图所示。
http://127.0.0.1/PIKACHU/

进入到基于server端的暴力破解页面,点击右上角的提示, 效果如下图所示。
http://127.0.0.1/PIKACHU/vul/burteforce/bf_form.php#

如上所示,右上角提示靶场的三个用户名和密码如下所示。
admin/123456
pikachu/000000
test/abc123
3、构造字典
构造暴力破解的用户名字典user.txt、密码字典password.txt。
(1)用户名字典user.txt内容如下所示。
admin
root
pikachu
liujiannan
(2)密码字典password.txt内容如下所示。
123456
000000
ljn
20250617
用户名密码和密码字典如下所示。

4、登录探测
在Yakit免登录浏览器的暴力破解页面输入随机用户名密码,并点击登录。

5、Yakit抓包并发送到Fuzz
在Yakit界面的自动放行页面抓到的报文列表中,找到此登录的post报文,如下图红色箭头指向的蓝框所示(pikachu靶场发出的POST报文)。

点击第86个报文(下图蓝框对应内容),在报文的request部分发现此报文的POST内容正式上一步我们输入的用户名和密码(如下图绿框所示),右键将报文发送奥webfuzzer,点击发送并跳转,如下图所示。

此时进入到如下WebFuzz页面,如下图所示。

6、配置暴力破解参数username
首先选中username对应的ljn值,然后右键选择插入标签/字典,然后选择插入文本标签,如下图所示。

此时进入到如下页面,选择按行读取文件并上传字典文件,如下图所示。

配置字典路径后点击"确定所选内容",如下图红框所示。

配置完毕后效果如下所示,用户名username对应的部分已经配置为user.txt字典所在路径。

7、配置暴力破解参数password
接下来配置密码字典,选中password对应的mooyuan值,然后右键选择插入标签/字典,然后选择插入文本标签,如下图所示。如下图所示。
选择按行读取文件并上传密码字典文件,如下图所示。

配置完毕后效果如下所示,用户名password对应的部分已经配置为pass.txt字典所在路径。

8、开启攻击
点击发送请求后发起攻击,如下图所示。

发起攻击后,此时注意到右侧多了响应列表,提示发送16次成功请求(下图红框内容),具体如下所示。

9、渗透成功
我们中希望从报文的响应列表中找到成功密码,点击此项目对应的相应大小(下图红框)进行排序,找到最前面两个报文,点击长度为34695对应的第三个报文(下图最左边箭头所示的报文),此时注意到右下角的请求,其POST参数显示此报文的用户名为admin、密码为123456,具体如下图所示。

我们点击该报文对应的响应内容(下图绿色箭头指向的绿色框),并点击美化(下图红色箭头指向的蓝色框),在相应内容中向下拉动鼠标滚动条,找到页面最下方的内容,如下图红色箭头指向的绿色框所示,提示登录成功,说明渗透成功,获取到正确的用户名和密码对admin和123456。

我们找到长度为34695对应的第5个报文,点击响应报文,在对应的响应报文中搜索关键字"suc",即按CTRL+F,然后输入suc,点击回车即发现报文内容中包括login success(下图绿框对应内容),说明渗透成功。

此时点击第5个报文对应的请求,查看其POST的参数发现其用户名为pikachu,密码为000000(如下图红框所示),说明我们获得了第二对可以成功登陆的用户名和密码对。
