盼大佬解答,前端加密到底是不是脱裤子放屁?

330 天前
 userKamtao

闲暇之余,探索了一个小伙伴的开源网站,无意中发现了他的修改密码接口,是明文传输的,如下图。

后来我跟他反应了这个问题,我的观点是应该在前端 md5 加密一下,他说,他在后端做了加密处理,明文传输没问题,网站是 https ,前端加密不就等于脱裤子放屁吗?

和他几番讨论之后,无果,也有几个小伙伴觉得前端加密等于自己骗自己。

我经验比较单薄,以至于没有什么实际上的论点去论证,希望有大佬解答一下,这种场景在前端加密有没有意义。

33631 次点击
所在节点    程序员
336 条回复
voidemoer
330 天前
没必要,但是有用。在大公司里这么做,安全部门直接给你提低危,修不修是你的事,和安全部门掰扯就行。
voidemoer
330 天前
黑客在任何一个环节都有攻击可能,而且成功进去也不会总是完全控制,很多时候就是只能读,但这已经是很大的问题了,因为只要能读就意味着脱裤可能。安全部门要是这么跟你扯,肯定还是得修
@voidemoer
erwin985211
330 天前
我插一句脱裤子放屁 比穿裤子放屁要爽的多,特别是闷屁
unclemcz
330 天前
前端加密是为了防止中间人攻击时泄露明文密码,其他感觉意义不大。
SilenceLL
330 天前
有点用,至少我见到的攻击短信接口大部分都是未经过任何加密的,稍微处理下提升一点点难度就可以让很大一部分攻击者放弃。除非你真的很有价值,值得破解
Jirajine
330 天前
我不知道你和那些认为后端有必要拿到明文密码原始值的人有什么交流的必要。
从这个角度来说,只要后端能拿到明文密码原始值,那些什么 rsa 之类的确实就是脱裤子放屁。
Nosub
330 天前
别说 op ,就是 CSDN 这种专业网站,不也是数据库明文保存的密码吗,程序员的弱//智行为永远比你想的还要弱//智一万倍,其实 op 说的没什么问题,业内早期的做法是 md5 ,不过改了,后来基本改为了①加盐+②md5 ,这样可以保证服务端也不会知道用户的密码,而且保证传送过程中的安全,其实为什么不要单纯的 md5 ,因为容易撞库,就是已经有大量的 md5 密码的对照表了,大部分的密码是可以直接通过 md5 数据库反查出密码,另外如果你直接明文传送,那别人可以知道你程序的处理密码的逻辑,其实这是一种风险,https 这个其实很多人没搞明白,https 不是绝对安全的,依然会有伪造证书的可能,抓包也不是不可能,也就是依然会有中间人攻击的几率。
isno
330 天前
送给你 对称/非对称以及公钥基础知识。

https://www.thebyte.com.cn/http/https.html
virtual2019
330 天前
是不是脱裤子放屁不知道,反正谷歌微软苹果 fb 都是明文传密码
kenvix
330 天前
1. 需要散列,但不是 MD5 SHA 之类的常规通用散列,用 Argon2 ,Bcrypt 之类的专用散列
2. 主要是防止少量特殊情况,比如用户遭到中间人攻击(说的就是企业网络)、以及上面说的打 log 泄露
monkeyWie
330 天前
@gam2046 正解
0o0O0o0O0o
330 天前
你比他正确一点,但还不够正确,可以阅读 https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html
jadeborner
330 天前
这块好像讨论过多次了,结论是有意义,聊胜于无。
renmu
330 天前
用户修改的密码你用不可逆的算法传输,那么数据库怎么存进去呢
Nosub
330 天前
op 要相信自己的判断,虽然安全只是相对的,你要做的是把风险一步步降低,你永远挡不住人为的低级失误,业内为什么要加密,绝不是脱裤子放屁,就像前面的说的,如果你服务器被攻破,或是流量被劫持,或是日志文件被窃取,黑客不是一样可以拿到明文。
halobabyy
330 天前
感觉前端加密没有任何必要,因为只要抓到包,就可以复现请求。(但是大佬们总结的避免枚举猜 id 的用处也还是很有用的,因为我也写过爬虫)
whileFalse
330 天前
客户端做对称加密基本上是脱裤子放屁。做 md5 摘要并加盐(盐可以是静态的)可以避免服务端拿明文密码。
Nosub
330 天前
@halobabyy 重复请求个鬼啊,请求参数会加签的,就是防止重放攻击的,除非你破解别人的加签算法 .
simo
330 天前
安全角度,是通过各种手段,提高破坏的成本。
看场景决定使用哪些手段,只要风险可控就行,明文也没问题,比如非公开网络,非重要数据。
gamexg
330 天前
@vmebeh #30 那么攻击者也不需要知道密码明文,一样直接提供 密文就能完成登录.



我是觉的真要想前端加密,那么就用非对称算法加密, 前端只有公钥,没有私钥.后端再用私钥解密密码,然后在对原始密码加盐 hash 去比较数据库.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1025454

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX