为什么默认密码会让攻击者直接进入您的系统

Jonas Buchholz
作者:Jonas Buchholz · 27.09.2026

01 技术背景

仅一个不安全的密码,就足以让攻击者夺取系统的控制权。实践中,不安全的密码主要出现在以下两种情形:

一方面,可能出现 出厂预设的登录凭据 在投入使用后 未被更改 的情况。许多系统,如路由器、网络摄像头、数据库以及 Web 应用的管理界面,出厂时都带有预配置的用户账户和默认密码,例如“admin/admin”或“root/12345”。这些凭据仅用于首次配置,应在配置后立即替换为个人专属的登录凭据。

另一方面,用户有时会选择容易被猜中、或早已在以往数据泄露事件中曝光的密码。攻击者可借助公开的密码列表,自动用这些密码尝试登录。例如“123456”这类简单的数字序列、“passwort1”这类容易预测的密码,或在以往数据泄露中已被泄露的密码。最知名的此类合集之一是 Have I Been Pwned 的“Pwned Passwords”,其中收录了来自大量公开数据泄露事件的已泄露密码。

最终,两种情形导致的结果相同:攻击者无需破解密码,而是早已知道密码,或者能从数量有限的候选密码中推断出来。尽管成因不同,两种情形都会造成本可避免的身份验证漏洞,而这些漏洞可以通过适当的组织和技术措施加以防范。

标准密码和弱密码

02 风险与影响

未更改的默认账户和不充分的密码要求,是身份验证方面最主要的漏洞之一。这一点也体现在 OWASP Top 10 中——这是一份国际公认的 Web 应用最重要安全风险清单:两类漏洞均归入 A07:2021“Identification and Authentication Failures”(身份识别与认证失败)类别。尽管成因不同,它们最终都会导致同一个关键安全问题:对系统和数据的未经授权访问。

攻击者会借助自动化手段等方式利用这些漏洞。凭据填充(Credential Stuffing)使用的是以往数据泄露中的登录凭据,而密码喷洒(Password Spraying)则是用常见密码对大量用户账户逐一尝试。此类攻击能否得手,取决于系统是否限制登录尝试次数,或是否部署了多因素身份验证等其他防护措施。其中,未更改的默认账户风险尤其大,因为攻击者往往可以毫不费力地从公开的厂商文档或其他公开渠道查到出厂登录凭据。未更改的默认账户在测试系统、备份管理界面和很少使用的管理入口中尤为常见。

如果身份验证成功,攻击者即可访问相应的用户账户或管理界面。视权限而定,攻击者可以更改配置、查看数据,或将该系统作为发起进一步攻击的跳板。

从数据保护法的角度看,《通用数据保护条例》(GDPR)第 32 条要求控制者通过适当的技术和组织措施,保护数据处理系统免遭未经授权的访问。选择这些措施的标准是现有技术水平。尤其可以参考 德国联邦信息安全办公室(BSI)的建议。其中包括使用个人专属且强度足够的密码、更换默认密码,以及采取措施识别已泄露的密码。此外,还可参考 美国国家标准与技术研究院(NIST)的指导方针 。该指南建议:仅使用密码登录时,密码至少应为 15 个字符;结合第二身份验证因素时,至少应为 8 个字符。相比僵硬的复杂度要求,该指南更看重密码长度。

如果利用此类漏洞导致个人数据遭未经授权的披露、篡改或丢失,通常即构成个人数据泄露(数据保护事件)。

03 如何识别漏洞

检测此漏洞需从两方面入手,因为未更改的默认账户和不安全的密码成因不同,所需的检查和应对措施也不同。这一区分也体现在 通用缺陷枚举(CWE) 中——这是一份国际通行的漏洞分类目录:未更改的默认账户归入 CWE-798(“Use of Hard-coded Credentials”,使用硬编码凭据),不充分的密码要求归入 CWE-521(“Weak Password Requirements”,弱密码要求)。

1. 检查默认账户(CWE-798)

首先,根据厂商文档逐一核查每个系统有哪些有记录的出厂账户。然后检查这些登录凭据是否仍然有效。如果仍然有效,说明默认账户未被替换,漏洞存在。

2. 检查密码质量(CWE-521)

就密码质量而言,可以在不泄露明文的情况下,将单个密码与 Pwned Passwords 数据库进行比对。具体做法是在本地生成 SHA-1 哈希值,只将哈希值的一部分发送到接口。这种所谓的 k-匿名(k-Anonymity)方法可在不向服务发送实际密码的情况下完成检查:

bash echo -n „您的密码“ | sha1sum

随后,可以查询哈希值的前五个字符:

bash curl https://api.pwnedpasswords.com/range/5BAA6

如果自己哈希值的其余部分出现在返回列表中,说明该密码已在数据泄露中被收录。

如果仍在使用默认账户,或某个正在使用的密码已知已被泄露,即存在漏洞。

04 如何修复漏洞

修复方式取决于漏洞成因。未更改的默认账户必须彻底清除,而不安全或已泄露的密码则须替换为安全的密码。

1. 清除默认账户(CWE-798)

  • 首先,梳理所有涉及登录凭据的系统、设备和账户,形成清单。
  • 在系统正式投入生产使用前,请更改所有出厂默认密码,并停用或删除不需要的默认账户。
  • 在进行固件更新或将设备重置到出厂设置后,应该检查默认访问权限是否已重新激活,或者密码是否已恢复为出厂设置。

2. 替换不安全的密码(CWE-521)

  • 请制定符合现有技术水平的密码策略,规定足够的最小长度,并将新密码与已知泄露密码列表进行比对。
  • 请将弱密码或已泄露的密码替换为个人专属、足够长且从未泄露过的密码。

3. 额外的保护措施

  • 如条件允许,请启用多因素身份验证。
  • 请限制登录失败的尝试次数,以增加自动化密码攻击的难度。
  • 请记录并监控失败的登录,以便及早发现攻击企图并作出响应。

措施落实后,请重新检查。只有当不再有任何默认账户处于启用状态、且所有相关账户都使用个人专属、强度足够且未泄露的密码时,漏洞才算真正修复。

实践中,可公开访问的系统往往同时存在多个漏洞。如果不进行系统性检查,默认密码和其他配置错误往往长期无人察觉。

常见问题解答

为什么默认密码存在安全风险?


哪些系统最常受到影响?


弱密码或已知密码会助长哪些攻击?

默认密码在 GDPR 方面有何意义?


如何确定是否存在此类漏洞?


如何有效清除默认密码和不安全的密码?