用 Pitchfork 做一次撞库:两次实验教会我的事
靶场本地虚拟机 Metasploitable2 Kali仅主机网络全程在自有环境内操作。一、先纠正一个误解撞库不是随机组合密码我刚开始学的时候以为撞库就是把账号和密码随机排列组合去试。做过一遍之后才发现完全不是这样。三种打法的区别其实全在数据从哪来打法数据来源赌什么请求数撞库泄露库里现成的「账号:密码」配对人会在不同网站复用密码min(两表行数)水喷洒就 1 个弱口令总有人用弱口令账号数穷举字典 × 账号全排列运气最不划算N × M撞库用的数据本身就是成对的——某次数据库泄露时原样拖出来的真实凭证alicecompany.com:Pssw0rdbobcompany.com:123456carolcompany.com:iloveyou所以撞库不是猜是把别人已经泄露的凭证成对搬到另一个网站去试。100 个账号 × 1000 个密码的全组合是 5 万次请求限速下要十几个小时还大概率一无所获而 100 个成对凭证只需要 100 次。二、Burp 里的四种攻击模式别选错Burp Intruder 的 Attack type 下拉框里有四个模式行为差别很大模式行为适合场景Sniper一个字典逐个替换某个位置其他位置不动单个账号 × 多个密码Battering ram一个字典同一个值塞进所有位置用户名密码相同admin/adminPitchfork多个字典第 i 行配第 i 行撞库成对凭证Cluster bomb多个字典笛卡尔积全排列N × M最贵我前一篇写的是 Sniper7 个弱口令打一个 admin这篇试 Pitchfork。三、这次的实验造一份泄露库DVWA 里有 5 个真实账号admin / gordonb / 1337 / pablo / smithy。我在 Kali 里手造一份泄露库然后拆成两列printf ‘admin:password\ngordonb:abc123\n1337:charley\npablo:letmein\nsmithy:password\n’ creds.txtcut -d: -f1 creds.txt users.txtcut -d: -f2 creds.txt pass.txtwc -l users.txt pass.txt这里 cut 的作用是切不是替换-d: 指定用冒号当刀把每行切成两段-f1 取左边那段账号、-f2 取右边那段密码原字符一动不动。最后 wc -l 数行数——两列行数相等 天然对齐这是撞库不出错的前提。然后在 Intruder 里抓 Brute Force 请求 → Send to IntruderAttack type 选 Pitchfork标记两处username§admin§password§123456§Payload set 1 → Load /home/kali/users.txt5 个账号Payload position 切到 2 → Load /home/kali/pass.txt5 个密码Payload count 5、Request count 5 → Start attack一个容易踩的坑两个字典要行行对齐。如果我载入 5 个账号 4 个密码Request count 会变成 4第五个账号根本不会被测。另外别手抖点 Deduplicate——密码字典里出现重复是正常的很多账号就是共用同一个弱口令去重了就漏配对了。四、结果表怎么从 5 行里看出中了几行这次 5 行全命中Status code 全 200Length 分别是账号密码Lengthgordonbabc12349851337charley4983adminpassword4986pabloletmein4986smithypassword4987点任意一行搜 welcome都能搜到 Welcome to the password protected area xxx。这里有个我一开始没预料到的细节5 个成功行的长度并不相同是 4983~4987。差别来自那句成功提示里回显了用户名Welcome to the password protected area 1337用户名 4 个字符的1337最短6 个字符的smithy最长。所以判读不能只找唯一异类要找挤在一起的一小撮——如果同时测 20 个账号成功行会彼此接近但不相等差异恰好等于用户名的长度差。这招在真实撞库里能帮我分辨到底哪几个账号沦陷了。五、第二次实验密码全在列表里命中却是 0第一次跑通之后我做了个对照实验把密码列表整体错位123456charleypassword123456charley预期会翻车结果是真的全灭——5 行长度全部 4919~4920零命中。关键在于password、charley 这些正确密码全都还在列表里一个不少。只是它们站错了行被配给了错误的账号。结论撞库命中 正确密码 × 正确账号配对必须同时正确。密码在字典里 ≠ 能登录。同一份数据、同一批密码只改配对方式这一个变量结果就从 5/5 变成 0/5。这就是对照实验的价值——它把到底是密码不对还是姿势不对这件事彻底分开了。六、中途翻车一次 302 让我学到了什么第一次跑这个实验时5 行全返回 302、Length 只有 397 左右。一开始我以为字典错了。查下来发现是会话过期——PHPSESSID 是上午抓的那条老请求里的PHP 默认 24 分钟过期服务器那边早就查无此人于是把这 5 个请求全当游客踢回登录页Location: …/login.php。把新 PHPSESSID 就地替换进 Positions 的请求头重跑全 200。教训Intruder 结果表全灭先查请求姿势会话、Cookie、安全级别再怀疑字典。 我一周内已经因为安全级别被改回 high和会话过期栽了两次同一个坑踩两遍——现在我养成了新习惯开跑前先看 Status code 列全 200 才是攻击有效全 302 说明请求根本没进门这时候分析 Length 是白费力气。七、复盘这一课真正学到什么撞库靠配对正确不靠字典大。错位实验 0 命中比任何理论都有说服力。暴露的凭证和猜的密码是两种完全不同的资产。前者是别人现成给的东西性价比高一个数量级。Request count 是我的安全带开跑前先看它。数字不对就别点 Start attack。结果表要看分布而不是看单行。挤在一起的一小撮往往就是命中组。八、防御侧写报告时的修复建议登录接口限速失败 N 次锁定 指数退避接图形/滑块验证码合并错误提示“用户名或密码错误”避免用户名枚举注意即使合并账号存在与否的响应时间差也可能泄露需要一并处理强制 MFA密码对了也进不去是最有效的一道密码策略长度优先于复杂度维护 top 10000 弱口令黑名单异常检测异地登录、异常设备指纹、撞库特征告警同一 IP 短时间大量账号失败合规提醒多数 SRC 明确不收我用外部泄露库撞进去了这种报告——因为那不是目标网站的错。本站能报的是登录接口无失败次数限制、无验证码、允许弱口令可被撞库批量接管账号并且危害证明要只用自己的测试账号。

相关新闻

Unsloth 微调 构建自己的大模型 没有GPU也能微调

Unsloth 微调 构建自己的大模型 没有GPU也能微调

这次我们使用unsloth框架来微调模型,将模型微调成一个垂直领域的模型先说问题This environment is externally managed ╰─> To install Python packages system-wide, try apt installpython3-xyz, where xyz is the package you are trying toinstall.从 Pyth…

2026/11/5 20:28:28 阅读更多 →
模拟赛车驾驶舱DIY:openrig开源铝型材方案从选材到调校

模拟赛车驾驶舱DIY:openrig开源铝型材方案从选材到调校

模拟赛车圈里,rig 是一个绕不开的词。它指的不是电脑主机,而是那套把方向盘、踏板、座椅和屏幕全部整合成一个固定驾驶环境的支架系统。openrig 就是奔着这件事来的一套方案:全开放的图纸,所有结构件用标准铝型材搭建,…

2026/11/9 2:20:44 阅读更多 →
逆向 BootMetro Pivot 插件:150 行 jQuery 复刻 WP8 风格 Pivot 控件的完整原理

逆向 BootMetro Pivot 插件:150 行 jQuery 复刻 WP8 风格 Pivot 控件的完整原理

逆向 BootMetro Pivot 插件:150 行 jQuery 复刻 WP8 风格 Pivot 控件的完整原理 【免费下载链接】bootmetro Simple and complete web UI framework to create web apps with Windows 8 Metro user interface, based on Bootstrap 2. 项目地址: https://gitcode.c…

2026/11/4 6:14:03 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻