1. 项目概述从“弱口令”到“第一桶金”的实战路径“弱口令”这个词在网络安全圈里几乎等同于“低垂的果实”。很多刚入门的朋友甚至一些非技术背景的人都听说过它觉得不就是“123456”、“admin”这种密码吗听起来简单但真要把它变成实实在在的收益比如标题里提到的“第一笔1200元”这里面门道就深了。这1200元通常指的是在各大SRC安全应急响应中心或漏洞赏金平台上成功提交一个有效的中危或高危弱口令漏洞所能获得的典型奖金。这笔钱不多不少却是一个极好的起点它验证了你的技术思路、报告流程和沟通能力是真正踏入安全研究实战领域的“投名状”。我见过太多新手一上来就抱着几十G的字典文件漫无目的地对着一堆域名狂扫结果要么一无所获要么触发告警被拉黑最后灰心丧气地离开。这个指南的目的就是帮你避开这些坑建立一套系统、高效且合法的弱口令漏洞挖掘方法论。我们不仅要讲“是什么”和“怎么做”更要深挖“为什么”和“怎么想”。从理解弱口令的本质、构建精准的字典到设计高效的扫描策略、编写专业的漏洞报告最后完成漏洞提交与沟通形成一个完整的闭环。让你不仅拿到那笔奖金更能掌握一套可持续的安全研究思维。2. 核心概念与目标界定什么是“有效”的弱口令漏洞在开始动手之前我们必须明确目标什么样的弱口令漏洞才值钱并不是所有用“123456”登录进去的地方都能换钱。2.1 弱口令漏洞的价值维度一个弱口令漏洞的价值主要取决于以下几个维度资产重要性漏洞存在于目标厂商的核心业务系统如官网后台、支付系统、用户中心、办公系统如OA、邮箱、VPN还是边缘测试系统核心业务系统的漏洞价值远高于一个无人问津的旧版测试页面。权限级别你通过弱口令获取的账号是什么权限是普通用户、内容编辑、系统管理员还是超级管理员权限越高危害越大奖金自然也越高。漏洞的后续利用链登录后你能做什么仅仅是查看信息还是可以上传文件GetShell、访问数据库、操作敏感配置能否将“弱口令”这个入口点与其他漏洞结合形成更具破坏力的攻击链比如弱口令进入后台结合后台的上传功能拿到服务器权限这直接决定了漏洞的评级中危、高危甚至严重。目标的合规性是否属于国家关键信息基础设施、金融、政务等重要行业这些行业的SRC通常有更高的奖励标准和更严格的审核流程。注意绝对禁止对非授权目标进行任何测试。你的所有操作必须在拥有明确书面授权如SRC项目范围、众测项目或属于自建测试环境的前提下进行。未经授权的测试是违法行为。2.2 合法攻击面SRC与众测平台对于新手而言最安全、最规范的起点就是各大互联网公司的SRC和第三方众测平台如漏洞盒子、补天、HackerOne、Bugcrowd等。这些平台提供了合法的测试目标和清晰的规则Scope。你的任务就是在规则允许的范围内找到有价值的漏洞。目标选择策略新手友好型SRC一些大型互联网公司的SRC如教育行业的EDU-SRC、各大厂商的SRC通常有较为完善的漏洞分级标准和处理流程适合新手熟悉流程。关注新项目众测平台经常会有新的“项目”上线。新项目意味着目标系统可能未经受过大规模的安全测试存在“低垂果实”的概率更大。研究规则仔细阅读每个项目的测试范围Scope。有些只允许测试特定的子域名*.example.com有些则禁止对生产数据库进行暴力破解。违反规则可能导致提交被拒绝甚至账号被封禁。3. 技术栈与工具准备工欲善其事必先利其器弱口令挖掘看似简单但高效的背后是一套工具链的支撑。我们不求大而全但求精准有效。3.1 核心工具选型与原理信息收集工具目标是发现可能存在的登录入口。Subfinder / Amass / Assetfinder用于子域名枚举。更多的子域名意味着更多的潜在攻击面。httpx / naabu快速探测存活主机和开放端口并识别HTTP/HTTPS服务。浏览器开发者工具 Burp Suite手动浏览时观察网络请求定位登录接口通常路径包含/login,/admin,/api/login,/wp-admin等。漏洞扫描/爆破工具对登录接口进行自动化测试。Hydra老牌网络登录破解工具支持协议多HTTP, FTP, SSH等速度快是爆破的“瑞士军刀”。Burp Suite Intruder功能极其强大的HTTP请求爆破模块。优势在于可以处理复杂的登录逻辑如需要先获取Token、验证码等支持多种攻击类型狙击手、攻城锤等是处理现代Web应用登录的首选。Xray / Nuclei新一代的漏洞扫描器拥有社区维护的大量弱口令检测POC模板。它们可以自动化地对一批目标进行常见系统的弱口令检测如Tomcat管理后台、Jenkins、路由器后台等效率极高。自定义Python脚本当遇到非常规的登录逻辑如加密传输、动态签名时编写自定义脚本是最灵活的方式。使用requests库模拟登录流程。3.2 弱口令字典的构建艺术字典的质量直接决定了爆破的效率和成功率。直接从网上下载一个“50W通用字典”往往效果很差因为目标系统可能使用了公司名、产品名、当地特色等组合。字典构建金字塔模型从下到上精度递增基础层通用字典包含最常用的弱口令如123456,admin,password,123123,qwerty等。这类字典很小几百到几千条用于第一轮快速试探。规则层基于规则的字典利用密码生成规则。例如针对目标公司“Zhihu”假设可以生成zhihu2024,zhihu2024,Zhihu123,zhihu_admin常见变形公司名年份 公司名123 公司名admin 首字母大写等。工具推荐crunch,rsmangler 或者自己写简单的Python脚本。情报层基于目标信息的字典公司信息公司全称、简称、英文名、股票代码、品牌口号、产品名称。人员信息在授权范围内或公开信息从LinkedIn、官网团队介绍中收集员工姓名拼音、缩写。常用密码模式姓名全拼姓名首字母姓名生日如zhangsan1990。资产信息域名关键词如oa,mail,vpn、服务器主机名等。专属层深度定制字典密码泄露库查询利用Have I Been Pwned的API或本地泄露密码库如RockYou.txt但需注意合规查询目标域名相关的邮箱是否曾泄露过密码。这些密码极有可能被员工复用。社会工程学分析公司公开活动、新闻稿寻找可能被用作密码的纪念日、项目代号等。实操心得我通常会准备三套字典按顺序使用1) 超精简通用字典50条以内进行存活探测2) 针对目标生成的规则字典1万条以内进行重点爆破3) 大型通用字典作为最后兜底。这样可以最大化利用时间和资源避免过早触发风控。4. 实战流程拆解从发现到报告的全链路假设我们的目标是某个授权测试的在线教育平台edu.target.com。4.1 第一阶段信息收集与入口发现首先我们需要绘制目标的地图。子域名发现subfinder -d edu.target.com -silent | httpx -silent -title -status-code -o subdomains.txt这条命令组合使用subfinder查找子域名然后用httpx快速检查存活情况并获取标题和状态码。结果保存到subdomains.txt。服务与目录识别 浏览subdomains.txt重点关注以下特征的URL标题中包含管理、Admin、Login、后台。状态码为200或302且页面有登录表单。常见后台路径探测使用dirsearch或gobuster对重要子域进行目录扫描寻找/admin,/wp-admin,/manager,/login等路径。手动验证与分析 打开一个疑似后台的地址例如oa.edu.target.com。按F12打开开发者工具切换到“网络”(Network)选项卡尝试输入一个错误的用户名密码点击登录。观察浏览器发送了什么样的请求。请求方法通常是POST。登录接口可能是/login.php,/api/v1/auth,/j_security_check等。请求参数除了username和password很可能还有csrf_token、captcha验证码等防爆破参数。这是关键如果存在不可绕过的验证码自动化爆破将非常困难。4.2 第二阶段爆破策略设计与实施假设我们找到了oa.edu.target.com/login 是一个简单的POST请求参数为user和pass没有验证码。方案A使用Hydra进行快速爆破hydra -L user_list.txt -P pass_list.txt oa.edu.target.com http-post-form /login:user^USER^pass^PASS^:F登录失败-L指定用户名字典。-P指定密码字典。http-post-form指定协议和表单参数。/login:...:F登录失败这是Hydra的语法意思是向/login发送POST请求将^USER^和^PASS^替换为字典内容如果返回页面中包含“登录失败”文本则认为尝试失败。方案B使用Burp Suite Intruder进行精细控制推荐这是更主流和强大的方式。在浏览器中配置代理指向Burp。在登录页面输入测试账号如test:test点击登录Burp会截获这个POST请求。将请求发送到Intruder模块。清除所有预设标记然后只选中user参数的值test和pass参数的值test点击“Add §”。这样就在两个参数值上设置了攻击载荷位置。攻击类型选择“Pitchfork”叉子。这种模式会同时使用两个载荷集一个给user一个给pass并且一一对应进行组合。这对于已知用户名、爆破密码的场景非常高效。载荷设置载荷集1对应user如果我们已知一个潜在的用户名如admin就添加一个静态值admin。如果不知道可以加载用户名字典。载荷集2对应pass加载我们精心准备的密码字典。开始攻击。Intruder会发起大量请求我们需要根据响应长度、状态码、返回内容来筛选成功的尝试。通常登录成功和失败的响应长度会有明显差异。重要注意事项在真实环境中务必设置合理的延迟Delay和线程数Threads。Burp Intruder和Hydra都支持。建议初始设置为每个请求间隔1-3秒线程数不超过5。过于频繁的请求极易触发IP封禁或WAFWeb应用防火墙规则导致你的测试IP被拉黑前功尽弃。4.3 第三阶段漏洞验证与深度利用当工具提示爆破成功返回了一个特殊的响应如302跳转到后台首页或返回了”success”: true这并不意味着结束而是开始。手动登录验证使用爆破出的账号密码在浏览器中手动登录确认是否可以正常进入系统。截图保存登录成功后的界面。权限评估登录后仔细浏览后台功能。能否查看所有用户信息能否进行系统配置修改有没有文件上传点上传一个图片马试试是否能够解析。有没有数据库管理或SQL执行接口能否看到其他员工的会话或操作日志扩大战果如果规则允许这是将“中危”提升到“高危”的关键。例如通过弱口令进入Tomcat管理后台/manager/html可以部署恶意的WAR包来GetShell。通过弱口令进入Jenkins后台可以执行系统命令。在进行任何可能影响系统稳定性的操作如上传Webshell、执行命令之前必须确认目标是否在测试范围内并且最好在测试环境或获得明确授权后进行。5. 漏洞报告撰写将技术成果转化为奖金一份清晰、专业、可复现的漏洞报告是拿到奖金的关键。很多技术不错的同学却因为报告写得一团糟而被降级或拒绝。5.1 报告核心结构漏洞标题简明扼要。例如“oa.edu.target.com后台管理系统存在弱口令漏洞可导致管理员权限泄露”。漏洞等级根据平台标准自评如高危、中危。弱口令通常初始评为中危若能进一步获取服务器权限或核心数据可提升至高危。漏洞类型弱口令。影响资产提供完整的URL如https://oa.edu.target.com/login。漏洞描述简述在XX系统的登录接口处由于未实施强密码策略或存在默认口令导致攻击者可通过爆破手段获取合法账号权限。根本原因分析可以提及可能是默认密码未修改、密码策略不严格、无账户锁定机制、缺乏二次验证等。复现步骤这是报告的灵魂必须做到任何安全工程师都能按照步骤复现。步骤1访问https://oa.edu.target.com/login。步骤2使用Burp Suite截取登录请求。步骤3使用Intruder模块对password字段进行爆破字典附后。步骤4爆破成功显示密码为Admin123。步骤5使用账号admin密码Admin123成功登录后台附登录成功截图。步骤6可选展示后台的高权限操作界面证明危害。证明截图/视频图1登录界面。图2Burp Intruder爆破成功的请求与响应高亮显示密码。图3使用爆破出的凭证成功登录后台的页面。图4如有后续高危操作的截图。建议录制一个简短的GIF或屏幕录像上传到视频平台将链接附在报告中。修复建议强制实施强密码策略长度、复杂度。增加登录失败次数限制和账户锁定机制。对管理后台启用双因素认证2FA。定期扫描和修改默认账户密码。将管理后台访问限制在内网或VPN环境下。附件可以将使用的、较小的密码字典作为附件上传方便厂商复现。5.2 报告撰写避坑指南避免模糊不要说“我用工具扫了一下就出来了”。必须给出具体的URL、参数、使用的工具和配置。数据脱敏报告中出现的密码可以用***部分隐藏但在给厂商的验证信息中提供完整密码。态度专业报告是沟通的媒介使用礼貌、专业的语言不要带有挑衅或炫耀的语气。遵守平台格式不同SRC平台可能有自己的报告模板务必遵循。6. 高级技巧与思维拓展掌握了基础流程想要提高效率和发现率就需要一些进阶思维。6.1 绕过常见的防护机制验证码识别型验证码尝试使用OCR工具如Tesseract或打码平台进行识别。但现代复杂的验证码滑块、点选很难自动化绕过。逻辑缺陷验证码是否在第一次请求时生成并与session绑定是否在验证成功后同一个session的后续请求就不再校验验证码可以尝试先正常获取一次验证码并通过验证然后用这个session进行爆破。验证码可重用极少数情况下后端验证码校验存在逻辑错误导致一个验证码可多次使用。登录失败锁定如果账户连续错误5次被锁定10分钟那么针对一个账户的爆破就不可行。此时需要横向爆破准备一个大的用户名字典和一个小的密码字典如top100密码尝试不同的“用户名-密码”组合避免对单一账户连续尝试。降低频率大幅增加请求间隔模拟真人操作。Token/签名登录请求可能携带一个随机的csrf_token或对参数进行加密签名。需要分析前端JavaScript看token是如何生成的可能是固定值或可从某个接口获取然后在爆破脚本中动态获取并替换。6.2 弱口令的“供应链”挖掘不要只盯着/login。很多弱口令存在于中间件、组件、设备的管理界面这些往往被忽视。常见端口与服务8080/8081Tomcat, Jenkins, Jboss9000PHP-FPM, Portainer445SMB共享21FTP22SSH3389RDP利用Nuclei进行批量扫描Nuclei有海量的弱口令检测模板。你可以将存活的主机和端口列表喂给Nuclei它能自动识别服务并调用对应的弱口令字典进行检测。cat alive_hosts.txt | nuclei -t /path/to/nuclei-templates/ -tags weak-auth -o results.txt6.3 从弱口令到权限提升登录成功只是第一步思考如何最大化利用这个入口。后台GetShell寻找任何文件上传功能尝试上传可执行的Webshell如.jsp,.php,.asp。注意绕过文件类型、内容检查。信息收集在后台寻找数据库连接配置、API密钥、源代码压缩包下载等功能获取更多敏感信息。横向移动如果这是一个员工账号查看内部通讯录、邮件系统尝试用相同的密码去登录其他内部系统密码复用很常见。7. 常见问题与排查实录在实际操作中你会遇到各种各样的问题。这里记录一些典型场景和解决思路。问题1工具跑了好久一个都没爆出来是目标太安全了吗检查点1目标是否存活用浏览器直接访问一下目标地址确认服务正常。检查点2请求是否被拦截查看Burp的Proxy历史或Hydra的输出是否有大量的超时、连接重置RST或403/5xx错误这可能是触发了WAF或IP被临时封禁。立即停止更换IP或大幅降低频率。检查点3字典是否对路你的字典可能完全偏离了目标的密码习惯。尝试使用针对目标生成的规则字典或者从泄露密码库中寻找相关密码。检查点4登录逻辑是否复杂再次抓包分析是否有隐藏字段、动态Token是否需要先访问一个页面获取Cookie用浏览器手动成功登录一次对比Burp抓到的包看差异在哪里。问题2Burp Intruder显示某个响应长度不同但手动用这个密码登录不成功。原因可能是服务器返回了不同的错误信息。例如密码错误返回“密码错误”账户不存在返回“用户不存在”这两种响应的长度可能不同但都不是成功。你需要仔细对比成功和失败响应的具体内容而不仅仅是长度。在Intruder的“选项”中可以添加Grep匹配规则比如匹配“登录成功”或“跳转至”等关键词。问题3提交报告后厂商回复“漏洞已已知悉”或“不予评级”怎么办首先自查你的漏洞是否在测试范围内是否违反了测试规则如对非授权域名进行测试报告描述是否清晰可复现沟通礼貌地询问具体原因。是漏洞重复了还是认为危害较低根据反馈你可以补充更多危害证明例如展示后台有敏感数据或者学习接受这个结果积累经验。心态调整不是每一个发现的漏洞都能获得奖金。漏洞挖掘有运气成分被拒绝是常态。重要的是从每次提交和反馈中学习改进自己的技术和方法。这条路没有捷径从“知道弱口令”到“稳定地通过它发现有价值的问题”中间隔着大量的实践、思考和总结。那份“1200元”的奖励不仅仅是对你技术能力的认可更是对你系统性安全思维和职业素养的一次肯定。当你拿到第一笔奖金时记得那只是一个开始后面还有更广阔的世界等着你去探索。