意外发现幕布居然明文存储用户密码,还返回给了前端
通过浏览器 使用密码登录幕布,点了登录没反应,出于习惯看了一眼交互请求。
结果发现 幕布不但明文存储了用户密码,还把密码发送到了浏览器端,由前端做密码校验?
真要是这样就有点离谱了感觉
官方回复 encryptPassword 字段 不是用户登录密码 是加密文档的密码
i.imgur.com/FapbdP7.png
老生常谈
看返回字段就能猜到是后台偷懒直接用 select * from user 作为返回结果了。
而且字段名还叫 encryptPassword🤣
草台班子
这。。。离谱
说明也没有专业测试、安全。
。。。这事情往前推 10 年,发生在 2015 年我也觉得很离谱,就算 CSDN 上一堆垃圾教程也没有教过让前端去验证密码的
并未重现。
在密码不正确时
在密码正确时
已经被修复了
改个密码试试, 我这里显示的是我上一个密码,而且你这里返回了 encryptPassword 只是没值
幕布现在是做 flomo 那两个人接手的吧?倒是看到不少人说幕布丢数据的。
我自己对这个开发者印象也不是很好,所以幕布和 flomo 都很久没用了。
#10 >> 还把密码发送到了浏览器端,由前端做密码校验
这就已经不成立了,密码错误时,并不会返回任何有效信息,因此也不存在前端校验密码,至于验证通过后,后端发送了密码或者你说的上一次密码,这是另一回事了。
原则上已经通过验证的用户取得自己的密码,相对来说,并没有很大的安全风险。假设存在 cookie/token 泄露的情况下,即使服务端不返回密码,恶意攻击者也同样可以操作账户。
唯一可能的风险隐患就是 XSS 。
草台班子
显然不是前端做密码校验,而是密码存在用户表,返回用户信息没过滤
有点幽默了
之前在某赛事购票网站看到过前端发明文验证码的。当时是换手机号了,但是之前的手机号还有积分能抵扣优惠,就想把之前账号找回来,然后就在控制台看到明文验证码,成功绑定新手机号。离了个大谱
#12 这样说的话 唯一的风险就是明文存储用户密码了
让我想起来好像是哪个驾校在登录的时候会把密码拼到 url 中做跳转。。。。
是密码正确才会返回整个用户实体,估计偷懒直接丢了整个实体出来,正常是要倒一下的
前端就算校验,也是根据后端返回做的逻辑
最离谱的还是明文存密码
其次是返回密码给前端做逻辑
应该是已经修复了, 我此前没绑定手机号, 一直是微信登录, 刚才绑定手机号, 并连续修改了两次密码, 接口未返回明文密码, 修复的真快啊......... 还是说是之前的某个 bug, 你的密码一直在缓存里没有清除, 你上次改密码和登录是什么时候
最大的问题确实是不该用明文储存密码
上次修改密码 至少是 24 年 11 月之前
刚试了一下 依然会返回密码,应该是上面提到的 程序员偷懒 直接 select * 了,然后我这个账号在某些情况下 给 encryptPassword 字段写入了值
未复现,空的
是加密文档的密码
#11 这个印象有啥讲究不,一直想试试 flomo 的,也听过他们的播客,主观印象还不错
#25 复现了 是加密文档密码
目前用下来没什么问题,就是体量小开发慢。
别对前端要求太多
先说为啥选择绿联,主要还是硬件配置确实给力,各端 App UI 和体验都还挺不错的,做工整体上也比二三线小牌子要好不少,刷系统容易,实在不行直接刷成 Debian 或者 PVE…
最近收到外包公司的 offer 是给汽车厂商开发 Android Automotive 应用,查了一下它家同时还做 Android Automotive OS 的 ROM 外包…
在 springboot 里面写 kafka 消费代码为了增加消费速度,写了一个线程池,用来异步处理消费的消息那么,请教一下各位大佬如果,异步处理的时候,出现问题了,怎么重复消…