CTF学习笔记03:密码口令 —— 从弱口令到字典爆破

本文是信息泄露专题后的进阶篇,聚焦 CTF Web 中另一大类基础漏洞:密码口令

包含:弱口令为何普遍存在、默认口令如何搜索、社会工程如何推理密码、字典爆破怎样自动化尝试。

一、密码口令漏洞概述

1.1 密码口令漏洞定义

密码口令漏洞,指的是由于密码设置不当认证机制不严谨,导致攻击者可以轻易获取或破解用户密码,从而非法登录系统。

这类漏洞不属于代码层面的 bug(如 SQL 注入),而是属于配置或人为因素造成的安全缺口。

1.2 漏洞存在原因

  • 用户习惯 :为了方便,使用 123456password 等简单密码。(简单猜测
  • 管理员疏忽 :系统安装后未修改默认密码(如 admin/admin)。(搜索确认
  • 信息泄露辅助 :攻击者通过社工手段收集目标个人信息,猜出密码。(对人推理
  • 缺乏防爆破机制 :登录接口无验证码、无频率限制,允许自动化尝试。(暴力破解

1.3 CTF 中常见形式

以CTFHub 的"密码口令"模块四个子节点为参考:弱口令默认口令社会工程字典爆破

二、弱口令 ------ 极容易被猜到的密码

2.1 弱口令定义

弱口令是指那些极易被猜测 的密码。常见例子包括数字序列 123456111111,键盘顺序 qwertyasdfgh,通用单词 passwordadminroot,以及重复字符 aaaaaaabc123 等。不需要任何线索就有可能被猜中的所谓"低安全性"的密码

2.2 弱口令导致的安全隐患

  • 攻击者会用常用弱口令字典快速尝试,冒登账号。
  • 很多系统管理员账号默认就是 admin/admin,管理员权限易被冒用。
  • 即使系统没有其他漏洞,弱口令也可能直接导致被入侵。

2.3 CTF 中的弱口令题

典型场景:一个后台登录框,让你输入用户名和密码。

解题思路:猜测用户名为 admin(最常见),然后依次尝试 admin123456passwordroot 等常见密码。如果手工尝试不成功,使用字典爆破(见后文)。CTFHub 的弱口令题目,通常用户名固定为 admin,密码是 admin123456,直接登录即可拿到 flag。

2.4 常见弱口令列表(节选)

用户名 密码
admin admin
admin 123456
admin password
root root
test test
guest guest

此外还可尝试 1234512345678888888abc123passw0rd 等。

仅作参考,实际推荐下载专门弱口令字典以完备遍历及爆破

三、默认口令 ------ 设备出厂默认设置的后门

3.1 默认口令定义

很多软件、硬件设备出厂时,会预设一个固定的管理账号和密码,方便首次配置。例如:

  • Tomcat 管理后台:admin/admin
  • 亿邮邮件网关:eyougw/admin@(eyou)
  • MySQL 数据库:root/(空密码或 root)

这些默认凭证通常是公开 的,可以直接在官方文档或网上搜到

3.2 默认口令泄露原因

管理员在部署系统时,如果没有修改默认密码,那么任何知道该设备型号的人都可以直接登录。CTF 题目会模拟这种情景:你面对一个登录框,需要根据页面特征识别出是什么系统,然后搜索其默认密码。

3.3 识别系统类型的方法(指纹识别)

  • 页面底部版权信息:例如"© 北京亿中邮信息技术有限公司" → 亿邮邮件网关。
  • URL 特征.do 后缀可能表示 Java 应用;/manager/html 路径表示 Tomcat。
  • 页面 Logo:直观看出品牌。
  • HTTP 响应头Server: Apache-Coyote/1.1 暗示 Tomcat。

结合页面的种种线索来确认厂家

已知目标系统名称后,直接在搜索引擎搜索,或者查找产品对应手册,就可得到默认账号密码

3.4 弱口令 vs 默认口令

维度 弱口令 默认口令
原因 用户设置简单密码 管理员未改出厂设置
密码来源 通用弱密码库 特定系统的固定凭证
破解方式 字典爆破 搜索引擎 + 手册
例子 123456 eyougw/admin@(eyou)

四、社会工程 ------ 针对具体目标用户的信息搜集与推理破解

4.1 社会工程定义

社会工程(Social Engineering)利用人的心理弱点(信任、懒惰、好奇)获取信息。在 CTF 中,它表现为根据题目提供的个人信息(姓名、生日、爱好等)推理密码 。比如管理员叫"张三",密码很可能是 zhangsan123zhang1990

4.2 常见的社会工程密码构造模式

攻击者通常会根据收集到的个人信息,组合出几种常见的密码形式。比如把姓名拼音全拼(zhangsan)或首字母(zs)作为基础,再拼上生日,生日可能有 199001019001010101 等不同格式;如果知道手机号,可能会取后六位或者前三位加后四位;也有人喜欢用英文名加年份(tom2024),或者直接用宠物名、偶像名(luckykobe)。这些模式单独或组合使用,就能生成一份有针对性的候选密码列表。

4.3 CTF 中的社会工程题

示例 :登录框下方提示:"管理员小李,生日是国庆节,密码是姓名拼音 + 生日(月日四位)"。姓名拼音是 xiaoli,国庆节是10月1日 → 1001,密码可能是 xiaoli1001xiaoli101,尝试即可登录。

4.4 社会工程与字典爆破的结合

当推理出的密码组合较多(例如多种生日格式、大小写变化),可以先用社会工程构造一个小字典 (几十到几百个候选密码),然后用 Burp Intruder 进行爆破,避免手动逐个试。

五、字典爆破 ------ 自动化的密码尝试

5.1 字典爆破定义

字典爆破是指使用一个预置的密码列表(字典),对登录接口进行自动化尝试 。当弱口令、默认口令、社会工程都无法直接确定密码时,爆破是最常用的手段。(最直接的最终手段

5.2 字典从哪里来?

  • 通用弱口令字典SecLists/Passwords/Common-Credentials/10k-most-common.txt
  • 社会工程生成字典 :使用 crunchcewl 工具或自己编写
  • 平台内置:Burp Suite Intruder 自带简单的爆破字典(不推荐,网上存在大量更全面不过时的字典)

5.3 常用爆破工具

工具 特点 适用场景
Burp Suite Intruder(新手力荐) 图形化,支持多种爆破模式 Web 表单登录
hydra 命令行,支持多种协议 SSH、FTP、HTTP 基本认证
Medusa 多线程,类似 hydra 同上
Python 脚本 高度定制 特殊协议或加密参数

CTF Web 题中最常用的是 Burp Suite Intruder

5.4 Burp Intruder 爆破步骤(简明版)

  1. 设置代理 :Burp 监听 127.0.0.1:8080,浏览器配置代理指向它;或者直接打开内嵌浏览器,对其进行拦截。
  2. 抓包:在登录页面输入任意用户名密码,点击登录,Burp 捕获 POST 请求。
  3. 发送到 Intruder:右键请求 → Send to Intruder。
  4. 设置爆破位置:在 Positions 标签页,清除默认标记,选中密码参数的值,点击 "Add §"。
  5. 加载字典 :进入 Payloads 标签页,Load 选择字典文件(如 passwords.txt)。
  6. 开始攻击:点击 Start attack。Burp 逐个尝试密码,并记录响应长度、状态码。
  7. 分析结果:通常成功登录的响应长度与其他不同,或响应内容包含 "flag"、"dashboard" 等关键词。排序响应长度,找到异常的条目即可。

5.5 爆破的注意事项

  • 如果登录页面有验证码,且验证码可重复使用或可预测,则仍可爆破(但 CTF 中多数弱口令题无验证码)。
  • 注意频率限制:如果靶场限制请求频率,需在 Intruder 中设置延时(Payloads → Advanced → Payload Processing → Add → Delay)。
  • 字典大小:通用弱口令字典通常几千条,爆破很快;若字典很大(几十万条),需考虑时间成本。超大字典互相全排列带来十万百万级别的测试次数,将达到几个十几个小时的等待时间,一般做题基本不现实。

5.6 字典爆破与其他三种方式的配合

类型 是否需要爆破 说明
弱口令 经常需要 直接使用通用字典爆破
默认口令 通常不需要 搜索到准确密码后手工登录即可
社会工程 可配合爆破 先构造小字典,再爆破,提高效率

尽管理论上足够大的字典能够破解世界上任何账号密码,如同《诗云》一般,但是由此产生的垃圾时间可能达到几年尺度,因此我们做题还要先积极搜集信息缩小范围

六、结语

本文介绍了 CTF 中"密码口令"类漏洞的四种典型形式:弱口令、默认口令、社会工程、字典爆破。它们共同揭示了安全中最薄弱的一环------的因素。

  • 弱口令:用户习惯使用简单密码,可被字典爆破攻破。
  • 默认口令:管理员疏于修改出厂设置,通过搜索引擎即可获得凭证。
  • 社会工程:利用公开信息推理密码,需结合上下文细心观察。
  • 字典爆破:自动化的尝试手段,配合上述方法提高成功率。

掌握这些知识后,对CTF 中大多数基于密码猜解的题目应该都可以有个明确的思考与解析方向。同时,也请理解:在真实环境中,强密码、多因素认证、登录防爆破机制是必不可少的防护手段。

相关推荐
自进化Agent智能体1 小时前
从零到一玩转Hermes Agent:VPS部署 × 模型配置 × 记忆架构 × 多Agent协作
后端
用户4682557459131 小时前
Testcontainers 在 Windows Docker Desktop 上跑不通:协议层不兼容 + 4 种可行环境
java·后端
Tenaryo1 小时前
「底层系统基石 · 缓存篇」V —— 写策略、Store Buffer 与内存屏障
后端·面试
小刘|2 小时前
Spring WebFlux + AI 流式输出深度解析:Spring AI 与 LangChain4j 效果差异溯源
java·后端·spring
夕除2 小时前
Spring Security 配置类(SecurityConfig)
java·后端·spring
lfwh2 小时前
探针程序技术解析:基于 Spring Boot 非 Web 模式的云服务监控告警系统
前端·spring boot·后端
武子康2 小时前
Java-22 深入浅出 MyBatis - 手写ORM框架3 手写SqlSession、Executor 工作原理
java·后端
ikoala2 小时前
Codex 不得不装的 12 个插件,都在这了
前端·javascript·后端