意外发现幕布居然明文存储用户密码,还返回给了前端
通过浏览器 使用密码登录幕布,点了登录没反应,出于习惯看了一眼交互请求。
结果发现 幕布不但明文存储了用户密码,还把密码发送到了浏览器端,由前端做密码校验?
真要是这样就有点离谱了感觉
官方回复 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 复现了 是加密文档密码
目前用下来没什么问题,就是体量小开发慢。
别对前端要求太多
# curl checkip.dyndns.org -v * Trying 158.101.44.242:80... * Connected to checkip.dyndn…
如题,OP 在一家小公司。公司里面有几位前端,现在有前端对接蓝牙设备的需求。且通讯格式已经固定。 在最近他们开发时在百度或者 chatgpt 搜索如何编解码 16 进制,而且和…
梦想是窝在家里自己一个人做一款好玩的像素游戏 然后各大平台发售 一炮而红 紧接着退休 每年靠着分红活着 开玩笑的 其实是自己从小到大一直都很爱玩像素游戏 感觉像素游戏才有味道 …