token 被盗引发的数据安全问题

2021-11-18 17:06:19 +08:00
 liuzhen
最近在过等保,测试人员拿 admin 用户的 token 替换到了 guess 用户的请求头里,得出一个存在越权的结论,给的修复方案是: 对所有用户功能基于 sessionid 判断用户权限。

但我寻思 sessionid 不也存在浏览器端吗,一样可以被等保测试人员拿到放在其他用户的请求里伪装 admin 用户
10960 次点击
所在节点    信息安全
118 条回复
Trim21
2021-11-18 17:36:51 +08:00
要求使用管理员用户密码无法登录为管理员,彻底解决用户帐号密码泄漏问题。
Foxii
2021-11-18 17:38:32 +08:00
利用前端 bug 类似的机制跳转以骗过等保人员
liuzhen
2021-11-18 17:39:05 +08:00
@sprite82 难搞,你们最后是怎么解决的呢?
ila
2021-11-18 17:39:43 +08:00
用 pc 端吧
liuzhen
2021-11-18 17:39:53 +08:00
@Foxii 他们是在类似 postman 的工具上 copy token 测的
cheng6563
2021-11-18 17:41:47 +08:00
等保的还叫我们关掉 keep-alive ,但我们用的是 HTTP2 。
deplivesb
2021-11-18 17:43:30 +08:00
#12 楼这个兄弟是招行出来的吧,我招行 app 每次都会遇到 Face ID 登录之后点个都叫我重新登录一次
Foxii
2021-11-18 17:44:52 +08:00
@liuzhen 那个工具它有木有默认的 ua 比如 postman 就有
sprite82
2021-11-18 17:45:55 +08:00
@liuzhen 没得搞,让项目经理去晓之以情动之以理, 理由:强行修改 html 是没办法控制的,另外虽然加入了不属于 guest 用户的页面,但是用户请求后台也是没用的,有权限控制的。而且,你都同时有 admin 和 guest 的账号了,哪怕 guest 没权限做破坏,admin 也可以继续搞事,无解,这测试方式就不合理
dzdh
2021-11-18 17:46:08 +08:00
车钥匙被盗引起的汽车被偷问题
whosesmile
2021-11-18 17:46:33 +08:00
有个中间办法类似银行的 APP ,如果你切换网络需要重新登陆,也就是检测 IP 之类的信息,但是如果安全员就在同一个设备上双开浏览器,暂时想不到办法。
defunct9
2021-11-18 17:48:12 +08:00
等保的让我们改掉 root 用户的用户名,不能叫 root 。
Foxii
2021-11-18 17:48:20 +08:00
token 过期设置为 0.5 秒前端 0.1 秒刷新一次,比的就是等保人员的手速
whosesmile
2021-11-18 17:50:21 +08:00
没注意已经有人提了这个思路了,想到了如果只是想骗过等保测试,无非是把门槛拉高,比如你每次请求都加一个 CSRF TOKEN ,但是如果测试人员每次都有办法复制所有的请求头,那就是扯淡的事了,HTTP 没来就无状态,无解的事情。
marcong95
2021-11-18 17:51:14 +08:00
把 token 放 sessionID 里?
Foxii
2021-11-18 17:52:04 +08:00
@whosesmile 确实只能骗,因为本来就没啥问题
misaka19000
2021-11-18 17:52:40 +08:00
加设备识别
liuzhen
2021-11-18 17:53:03 +08:00
@Foxii 上有政策下有对策,这也是没有办法的办法了
liuidetmks
2021-11-18 17:59:21 +08:00
随机 nonce + token + 其他业务参 与 参数校验吧?

如果他是简单的 Charles 抓包替换 替换能防住

如果手里有项目源码,写的代码测试.那就~
eason1874
2021-11-18 18:07:45 +08:00
对浏览器来说 SessionID 和 Token 唯一区别就是字段名不一样。这测试水平不咋滴,搞不好你改个名字就完事了

如果是前后端分离的,可以在登录时存一个 key 到 localStorage ,每次请求都用它签一个 RequestId 带上,服务端记录 RequestId ,同一 SessionID/Token 在一段时间内使用重复的 RequestId 直接 403 。这样搞,只是复制请求信息就不能成功了

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

https://www.v2ex.com/t/816341

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

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

© 2021 V2EX