使用burp工具的intruder模块进行密码爆破

一、密码字典

对于密码爆破,拥有一个好的字典是成功的一半。字典的质量远比数量重要。

1. 自定义"手搓"字典(最高优先级)

在测试具体目标前,强烈建议先根据目标信息生成一个自定义字典。这通常比下载的通用字典更有效。

构建思路:

  • 公司/产品名:公司名称、产品名、品牌名的各种组合(全拼、简拼、大小写)。

    • 例如:目标为 xx公司,尝试 xx@2024, xx123, xxadmin, XX666
  • 季节/年份2024, 2023, 2025, !@#2024, Season2024!

  • 默认密码admin, password, 123456, root, default, pass

  • 弱口令:见下面的"精选核心弱口令列表"。

工具推荐: CUPP 可以根据已知信息(如姓名、生日、宠物名等)生成个性化字典。


2. 精选核心弱口令列表(必试清单)

这是一个你应该始终优先使用 的"小而精"的列表。可以直接复制到 Burp Suite 的 Payload Options 中手动添加。

复制代码
# 超弱密码
admin
123456
password
12345678
123456789
admin123
12345
1234
1234567890
000000
root
abc123
password1
123123
qwerty
1q2w3e4r
1qaz2wsx

# 带简单符号的弱密码
admin@123
admin#123
123456!
password123
Admin123
Admin@123

# 默认凭证
admin:admin
root:root
guest:guest
user:user
test:test

# 空密码或简单重复
(留空)
adminadmin
passwordpassword

3. 知名的开源字典项目(推荐下载)

这些是安全社区公认的、高质量的开源字典项目,你可以下载它们的发布版本。

SecLists(首选,最全面)
  • 描述 :这是最著名、最全面的安全测试字典集合,不仅仅是密码,还包含用户名、路径、子域名等。这应该是你的首选下载目标

  • 内容 :包含 rockyou.txt 的精简版、根据现实数据泄露整理的密码列表等。

  • 下载地址https://github.com/danielmiessler/SecLists

  • 爆破常用路径

    • SecLists/Passwords/Common-Credentials/ (包含最常用的TOP密码)

    • SecLists/Passwords/Leaked-Databases/ (包含从泄露事件中整理的密码,如 rockyou.txt

rockyou.txt(经典巨无霸)
  • 描述 :源于2009年RockYou公司数据泄露的1400万个纯文本密码。这是密码研究和大规模爆破的事实标准

  • 注意:文件很大(约130MB),包含1.4亿条密码。建议使用其精简版或从SecLists中获取。

  • 获取方式 :在 Kali Linux 中,路径为 /usr/share/wordlists/rockyou.txt.gz,需要解压。你也可以在网上搜索下载。

kaonashi.py (RootedCON 2020)

二、分析结果

如何识别成功密码?

在 Intruder 的爆破结果中,您需要通过对比响应特征来找出那个"与众不同"的请求。主要关注以下几列:

  1. 首要关注状态码 302 :在登录爆破中,302 是成功的强信号。

  2. 对比响应长度:在一堆状态码相同的请求中,长度不同的那个往往是成功的。成功和失败后返回的页面几乎总是不同,因此长度也不同。

  3. 亲自验证 :双击可疑行,查看响应详情。对于 302,看响应头里的 Location 字段;对于 200,看响应体里是登录成功后的页面还是失败提示。

三、实例分析

HTTP响应(Response)

复制代码
HTTP/1.1 302 Found

Server: nginx/1.15.10

Date: Fri, 03 Oct 2025 11:42:29 GMT

Content-Type: text/html; charset=UTF-8

Connection: keep-alive

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate

Pragma: no-cache

Location: index.php

Content-Length: 367





<html>

<head>

<title>System Tools</title>

<link rel="stylesheet" href="css/styles.css">

</head>



<body>

	<div class="container">

		<div class="inner">

			You are currently logged in<p><div class="menu-system"><h3>System Tools</h3><a href='command.php'>Command</a><p></div><p><a href='logout.php'>Click to Logout</a>			

		</div>

	</div>

</body>

</html>

响应解读(逐行分析)

  1. HTTP/1.1 302 Found

    • 这是最重要的信号。302 状态码意味着服务器要求客户端(您的浏览器/Burp)重定向 到另一个页面。在登录场景中,这几乎总是登录成功的标志
  2. Location: index.php

    • 这是 302 重定向的目标。它告诉浏览器:"登录成功,现在跳转到 index.php 页面"。

    • 值得注意的是,这里跳转回的 index.php 很可能不再是登录页面,而是登录后的主页或仪表板

  3. 响应体内容

    • 尽管浏览器在收到 302 后会自动跳转,但服务器仍然返回了一段HTML内容。这段内容就是您看到的:

    • You are currently logged in :这行文字是最直接、最确凿的证据,明确声明您已处于登录状态。

    • 系统菜单<div class="menu-system"><h3>System Tools</h3><a href='command.php'>Command</a>... 这表明您获得了访问系统工具的权限,看到了普通未登录用户看不到的菜单项。其中 command.php 链接尤其值得关注,可能是一个命令执行功能,是渗透测试中的重要目标。

  4. 其他头部信息

    • Cache-Control: no-store, no-cache, must-revalidatePragma: no-cache:这些指令是为了防止浏览器缓存此敏感页面,这是Web应用程序的常见安全实践。

总结与下一步行动

  • 结论 :使用用户名 admin 和密码 happy 的组合可以成功登录该系统。

  • 验证 :您可以在浏览器中直接访问 http://192.168.226.138,使用 admin/happy 进行登录,应该能看到上述响应中的系统工具菜单。

  • 下一步:既然已经成功进入系统,您接下来的渗透测试可以围绕已发现的授权功能展开,例如:

    • 测试 command.php 页面,看是否存在命令注入漏洞。

    • 查看其他已解锁的功能菜单。

    • 尝试寻找权限提升或访问控制缺陷。

相关推荐
老赵聊算法、大模型备案2 小时前
2025年6-8月中国大模型备案分析报告
大数据·人工智能·安全·语言模型·aigc
jiunian_cn4 小时前
【Linux网络】IP协议
linux·网络·tcp/ip
独行soc6 小时前
2025年渗透测试面试题总结-102(题目+回答)
网络·安全·web安全·网络安全·adb·渗透测试·安全狮
奔跑吧邓邓子12 小时前
【C++实战(63)】C++ 网络编程实战:UDP客户端与服务端的奥秘之旅
网络·c++·udp·实战·客户端·服务端
key0613 小时前
网络安全等级保护测评实施过程
数据库·安全·web安全·安全合规
程序猿阿伟13 小时前
《政企API网关:安全与性能平衡的转型实践》
网络·数据库·安全
小跌—14 小时前
Linux:了解Socket编程
linux·网络
路由侠内网穿透14 小时前
本地部署开源视频存档和搜索引擎工具 TubeArchivist 并实现外部访问
服务器·网络·windows·tcp/ip·搜索引擎·开源
1892280486115 小时前
NX482NX486美光固态闪存NX507NX508
大数据·网络·数据库·人工智能·性能优化