我可以在Ubuntu 14.04上省略密码的最后几个字符


27

我们学院的实验室PC上装有Ubuntu 14.04.3 LTS。我今天注意到一个严重的错误。

我可以跳过密码的最后几个字符,但仍然可以顺利登录。例如,如果我的密码是a1b2c3d4e5f6g7h8,则我可以键入a1b2c3d4e并仍然登录。许多其他人也注意到了该错误。

请注意,不能完全绕过密码-我能够跳过的最大密码为7个字符。如果我尝试跳过任何其他内容,则会出现消息“ 密码无效,请重试 ”。另请注意,密码子字符串的任何随机排列均不起作用。

如果我手动锁定屏幕并再次输入密码,也会发生这种情况。使用时会出现相同的错误ssh,很好地进行谷歌搜索和搜索Stack Overflow并没有帮助。

我的问题是-如果可以完全修复,该如何解决此错误?我们的sysadm在星期一之前不可用,这确实让我感到困扰。

重要说明:请注意,sudoers列表中没有任何学生的帐户,只有sysadm具有root访问权限。另外,当我ssh进入自己的帐户时,将显示以下内容:

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-65-generic i686)

* Documentation:  https://help.ubuntu.com/

543 packages can be updated.
350 updates are security updates.

New release '16.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

更新:看起来重要的问题不是末尾省略的字符数,而是可以使用密码的前八个或更多字符进行登录的事实。


2
我怀疑某些外部身份验证(LDAP,Active Directory等)有问题,并且无法正确验证密码。与您的系统管理员联系。
安德烈·博里

8
提供350个安全更新。其中之一可能也修复了Heartbleed错误
AnthumChris

4
您的系统管理员似乎几个月都没有空……
Michael Hampton

Answers:


28

如果您没有管理员权限,那么您将无能为力。

就是说,这似乎是由于管理员的权限不足。这听起来与使用经典crypt(3)功能的密码加密类似。来自man 3 crypt

crypt()是密码加密功能。它基于数据
具有预期变化的加密标准算法(除其他外)
事物)以阻止对关键搜索的硬件实现的使用。

key是用户输入的密码。

salt是从[a-zA-Z0-9./]集中选择的两个字符的字符串。这个
字符串用于以4096种不同方式之一干扰算法。

通过取的前八个字符中每个字符的最低7位
密钥,获得56位密钥。  此56位密钥用于加密
重复一个常量字符串(通常是一个由所有
零)。返回的值指向加密的密码(一系列)
的13个可打印ASCII字符(前两个字符代表
盐本身)。返回值指向静态数据,其内容
每次通话都会被覆盖。

听起来很熟悉吗?

默认情况下,最近没有Ubuntu系统使用此功能。您的管理员必须手动配置密码设置才能使用此密码。或者,他们可能正在使用外部身份验证(LDAP或类似的身份验证),并且没有安全配置或无法安全配置。

另请参见:现代Unix / Linux系统上的密码是否仍限制为8个字符?


4
然后,管理员最有可能使用LDAP .....我将尝试与他联系。谢谢!
Dimitri Markovich

1
OP可以通过查看是否翻转前8个字符中的第8个字符是否有所区别来进一步确认这一点。但是在UTF-8环境中可能很难完成。
乔纳斯·谢弗

@JonasWielicki-翻转前八个字符中任意一个的第8位确实会有所不同-密码显示为无效。因此,我只能使用原始密码的前八个或更多字符。
Dimitri Markovich

@ die-policy137如前所述,我想用UTF-8仅翻转第八位比较棘手,这将导致使用两个字节而不是一个字节来编码代码点。因此,不幸的是,这不是一个确定的测试,除非对终端使用的编码和/或为认证发送的数据进行非常严格的控制。
乔纳斯·谢弗(JonasSchäfer)

7

在上一个千年中,曾经有一段时间所有Unixen都以这种方式加密密码。丢弃除第八个字符以外的所有内容,添加盐,通过哈希函数删除并完成。

这里最大的问题是加密的密码是否可供潜在的黑客使用。如果是的话,这是一个大问题。如果不是,那确实不是什么大问题。八个字符的密码具有很多可能性。如果您必须进行实际的登录尝试以检查潜在的密码,那么破解将花费很长时间。同样,尝试将触发警报。

因此,这里最大的收获是影子密码。仍然,人们开始认为这还不够好,每个Unix变体都实现了自己的扩展最大密码长度的方式。这些不再兼容。

有一阵子,如果您希望具有不同Unix变体的多台计算机使用相同的密码,则必须使用旧的加密类型。

初次建立这些计算机实验室时,情况仍然很可能如此。这种设置具有惯性。设置新客户端以匹配服务器。设置新服务器以匹配客户端。

今天,情况变好了。使用的Unix变体较少,它们之间的协作也更好。

我没有足够的能力告诉您如何解决此问题,但这管理员的任务,而不是您的任务。


好的...我希望我可以做些什么。
Dimitri Markovich

“ Unixen”胜过“ Unicies”?从来没有听说过,亲切的感觉
猫猫

1
@cat这显然是Unix和的混成Boxen有
迈克尔·汉普顿

2
由于Unix是一个由词,复数可以由太:)
托尔比约恩Ravn的安徒生

Eight characters passwords has a lot of possibilities.对于密码熵,您假设攻击者知道如何生成密码。如果使用随机词,那么最多将获得2个词或22位熵。
NonlinearFruit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.