Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可能的不安全登录_Javascript_Security_Passwords_Plaintext - Fatal编程技术网

Javascript 可能的不安全登录

Javascript 可能的不安全登录,javascript,security,passwords,plaintext,Javascript,Security,Passwords,Plaintext,在我的公寓里,我连接到一个由大楼管理的私人WiFi网络。为了连接到internet,我需要通过intranet服务器提供的网页登录 出于对我的浏览器没有要求我保存用户名和密码的兴趣,我决定查看源代码,看看它是如何完成的。在这样做的时候,我遇到了一些奇怪的JS代码,它用看起来像盐的东西编译密码,然后将其转换为hexMD5: password = hexMD5( '\360' + document.login.password.value + '\123\076\310\2

在我的公寓里,我连接到一个由大楼管理的私人WiFi网络。为了连接到internet,我需要通过intranet服务器提供的网页登录

出于对我的浏览器没有要求我保存用户名和密码的兴趣,我决定查看源代码,看看它是如何完成的。在这样做的时候,我遇到了一些奇怪的JS代码,它用看起来像盐的东西编译密码,然后将其转换为
hexMD5

password = hexMD5(
    '\360' +
     document.login.password.value +
    '\123\076\310\204\336\276\065\360\375\311\365\076\031\311\360\117'
)
如果密码像那样被加密和散列,那么肯定需要在服务器上执行同样的操作,这意味着我的密码是以纯文本形式保存的?这可能是我的错,但我看不出有其他办法

如果您能深入了解这一点,我将不胜感激,请告诉我这个问题是否适用于其他SE站点。

我假设hexMD5()是一个将任何字符串转换为MD5哈希的实现。如果这是真的,那么您的密码不会以明文形式保存

后端可以保存MD5散列,并将存储的散列与登录时接收的散列进行比较

但是,如果他们每次在登录时都创建一个新的salt,那么是的,他们可能会将您的密码保存为明文,除非他们的实现类似于
md5(salt+md5(password))


如果你想了解更多信息,SO上的Security有很多关于散列的帖子。

我会说这个问题更适合放在@George上,谢谢-我应该删除这个并将其移动,还是由版主移动会更好?嗯……服务器不更可能存储散列版本的密码,而不是在每次登录尝试时存储明文版本并对其进行散列?不管怎样,我们不知道服务器做什么或不做什么,也不知道它的安全性如何。问题是密码周围的salt在重新加载时会发生变化,并且所有的salt都被散列在一起。@MikeRockett如果salt与MD5散列一起发送,这不是问题。他们也会把盐储存起来。即使它没有被发送,也可以存储在会话中。那么,考虑到它都是散列在一起的,服务器如何在不知道我的密码的情况下获得相同的散列呢?如果密码是分开散列的,对我来说是有意义的…哦,你完全正确,我没有注意到这是在登录时发生的。如果它在每次登录时都创建了一个新的salt,那么一切都会发生变化:是的,他们必须将您的密码存储为明文,除非他们的实现是某种
md5(salt+md5(password))
或类似的。我将编辑我的答案以反映这一点。谢谢你-我将向服务提供商提出这一点,看看是否可以更改。