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

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

但我寻思 sessionid 不也存在浏览器端吗,一样可以被等保测试人员拿到放在其他用户的请求里伪装 admin 用户
10300 次点击
所在节点    信息安全
118 条回复
hhyygg
2021-11-18 17:12:42 +08:00
如果用了 Token ,那 Token 不就是作为 SessionID 了吗?
lniwn
2021-11-18 17:13:42 +08:00
那么问题来了,guest 用户使用了 admin 的 token ,拿它还是原来那个 guest 用户么?
gadfly3173
2021-11-18 17:14:45 +08:00
这个测试方法不是变成强行 CSRF 了么。。。
liuzhen
2021-11-18 17:15:58 +08:00
@hhyygg 等保人员就是用大权限的用户的 token 覆盖到小权限的用户 token ,再去请求接口数据,要求识别出这个请求是小权限用户的。这不是脱了裤子放屁嘛,等于是要求你把你家钥匙给张三,要求张三去开门的时候开不了
liuzhen
2021-11-18 17:16:40 +08:00
@lniwn 就是要求你还能识别出它是原来的 guest 用户
gadfly3173
2021-11-18 17:16:44 +08:00
按照这个说法,这个测试提的想法和传说中的 app 检测手机壳颜色一样了,打破第四面墙去检测屏幕之外的人。。。
HelloWorld556
2021-11-18 17:17:50 +08:00
加个人脸识别吧
ReysC
2021-11-18 17:18:30 +08:00
token rename to sessionid
wolfie
2021-11-18 17:20:55 +08:00
这个简单,每次接口请求前,弹窗输入当前用户密码就行了。🐶🐶
lniwn
2021-11-18 17:21:06 +08:00
@liuzhen 明显测试人员没有理解 token 的意义。说个偏门,token 换成 admin 了,那用户就是 admin ,前段显示 guest ,是前端的 bug[🐶]
darknoll
2021-11-18 17:21:07 +08:00
这帮人啥都不懂啊
mannixSuo
2021-11-18 17:22:43 +08:00
token 里面放个用户的 IP ,判断下请求 IP 和 token 里面的 ip ?
coosir
2021-11-18 17:29:12 +08:00
user_name + token 组合判断,他们替换就没用了,哈哈哈
rockyliang
2021-11-18 17:29:12 +08:00
@mannixSuo 在使用产品过程中用户的 IP 地址有可能会变的,如果 IP 一变就要求用户重新登录,体验会很不好
liuzhen
2021-11-18 17:32:08 +08:00
@mannixSuo IP 不行啊,服务器收到的同一个路由器下的不同电脑的 IP 是一样的,而且 WiFi 切到 4g 肯定会变 IP ,就让用户重新登录不够友好
kiracyan
2021-11-18 17:34:41 +08:00
token 绑定设备 UA 或者唯一的客户端码 换了就重新登录
liuzhen
2021-11-18 17:35:46 +08:00
@kiracyan 客户端就是 web 浏览器
DoraMouse
2021-11-18 17:35:56 +08:00
token 这里可以理解成打开门的钥匙,如果拿管理员的钥匙能打开管理员才能开的门,那这不是很正常的事,跟门有啥关系。
sprite82
2021-11-18 17:36:30 +08:00
等保这帮人就这样的,很 sb ,比如拿 admin 用户的页面 抽出部分 html , 给嵌入到 guest 用户的页面中,告诉我,你这个权限越权了
x86
2021-11-18 17:36:34 +08:00
人才,token 拉取的是权限...用户信息没变?

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

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

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

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

© 2021 V2EX