用户密码不是应该只保存 hash 过的吗?
1
AlphaTr 2018-05-06 08:46:29 +08:00
哈希之前的日志记录了密码,没脱敏
|
2
opengps 2018-05-06 08:53:28 +08:00
估计某个程序员测试时候记录了明文日志,然后忘了去掉日志就提交生产环境了
|
3
LazyZhu 2018-05-06 09:30:17 +08:00 9
Github 也出了这个问题, 内部调试日志出现了明文密码.
不过得给 Github/Twitter 这种高度的用户透明度点个赞, 国内哪家大厂商有这个觉悟? |
6
xmdhs 2018-05-06 11:16:02 +08:00 via iPad
国内的估计没几个 hash 过
所以国内的网站 万一裤子被脱了就。。。 |
8
lany 2018-05-06 11:23:11 +08:00 via Android
调试代码忘记注释了
|
9
0915240 2018-05-06 11:46:59 +08:00 via iPhone
日志记录了密码
emmmmm |
10
Va1n3R 2018-05-06 11:52:37 +08:00
貌似这个日志也是用户接触不到的。。。只有工作人员可以看到,其实也就是日志把明文密码在 hash 前先记录下来了。
|
11
Raymon111111 2018-05-06 12:04:26 +08:00
是生产环境打了 log, 推特官方表示没有任何迹象表明这个有泄露, 但是改密码还是更保险一点.
HN 上这个讨论还挺热烈的, 都在说能用手段避免这种情况发生. |
12
swulling 2018-05-06 12:06:23 +08:00 via iPhone
客户端预 hash 可以解决,两次 hash
客户端一次,服务端一次。 |
13
PressOne 2018-05-06 12:15:14 +08:00
@Raymon111111 黑客没那么傻,以往公开的库都是几年前拖的,利用的没有价值了再公布的
|
14
cairnechen 2018-05-06 12:51:37 +08:00
@xmdhs 国内没几个 hash 过???你可能有啥误解吧,以为国内人人都是 CSDN 呢
|
15
geeklian 2018-05-06 14:16:26 +08:00 via Android
其实银行的取款密码都没有 hash。
不过 6 位纯数字,hash 不 hash 没区别。 |
16
rogwan 2018-05-06 14:20:40 +08:00 via Android
@geeklian 银行是卡、密分离,这个还是有区别的。知道密码,没有实物卡偷不了钱。互联网账号则另说
|
17
skyyp 2018-05-06 14:23:24 +08:00
想起了几年前的 CSDN 脱裤子事件
|
18
xy90321 2018-05-06 14:29:42 +08:00 via iPhone 1
|
19
treo 2018-05-06 14:47:00 +08:00
@swulling https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/august/javascript-cryptography-considered-harmful/
|
20
olaloong 2018-05-06 15:27:27 +08:00
twitter 发的邮件里面有解释
关于此问题 我们通过所谓的哈希转换流程,使用一个名为 bcrypt 的函数对密码进行掩码处理,即用随机的一系列数字和字母替代实际密码,存储在 Twitter 系统内。 这让我们的系统可以在不显示你的密码的前提下核实帐号身份。 这是行业标准做法。 有一个问题导致密码在完成哈希转换前被写入一个内部日志。 我们自己发现了这个错误,移除了密码信息,并且正在部署计划以防这个问题再度发生。 |
22
gy911201 2018-05-06 15:58:50 +08:00
Bcrypt 是目前非常适合用来 hash 密码的算法……还是建议用这个……而不是自己造轮子…………
|
23
swulling 2018-05-06 16:23:29 +08:00 via iPad
|
26
Telegram 2018-05-06 17:08:34 +08:00 via iPhone
前面几位感觉有点跪舔了,密码明文就是明文,一视同仁的喷就对了,别说什么比国内透明。
就算是日志里出明文,也不能让我理解。 为啥不能前端先 hash 一次,然后提交到服务器,后端你再要怎么加密都没问题。 |
28
agagega 2018-05-06 18:59:11 +08:00 via iPhone
还是 Dropbox 的会玩。第一步 SHA 把长度统一,第二步 Bcrypt,第三步用一个全局密钥 AES 加密以防泄漏。
|
29
param 2018-05-07 02:59:18 +08:00 via Android
所以前端應該在提交之前先哈希一遍
|