102
pupboss 2021-11-19 13:29:06 +08:00
这个问题叫重放攻击,你需要的方案是加签名
token 代表一个用户的身份,已经完成了它的使命 你们说的替换 guest token 为 admin token 之后继续发请求,这是重放攻击 加个签名 sign(who+when+where+what) 中间件就可以完美解决。替换了 token 就意味着 who 变了,签名对不上也是 GG |
104
fortunezhang 2021-11-19 14:21:51 +08:00
等保这帮人。 哎。。。他们渗透,还得给他们钱,最后他们给你个证。。。
|
105
iyaozhen 2021-11-19 14:24:39 +08:00
越权的结论有点牵强,但确实是有问题的
需要有 token 吊销机制 前端页面需要加上 CSRF Token 然后敏感操作(比如删除、导出等),二次验证管理员密码。 |
106
pupboss 2021-11-19 14:31:38 +08:00
@iikebug 单就楼主的描述看,测试人员替换请求头的 token ,是可以通过加签名解决的,替换了 token 意味着 who 变了,签名肯定对不上
如果非得深挖的话,确实 web 端可以反推签名算法,这就是另一个领域的话题了,我们可以尽可能的混淆代码,用 hex 表示签名用的 key ,破解的成本一般都会比收益高了 |
107
snowlyg 2021-11-19 14:40:52 +08:00
面试还被问过类似的问题,都不知道怎么答
|
108
zypy333 2021-11-19 15:28:22 +08:00
第一反应是不是招惹别人了,还是想吃拿卡要?难倒他们以前也是这样检查 token 的吗
|
109
LinShiG0ng 2021-11-19 16:00:22 +08:00
我刚入行做的是渗透测试,第一个项目就是工行,工行的安全程度就不用我多说了,人家自己养的安全团队都已经很强了,到我手上基本上挖不到洞了,然后我就用了楼主说的方法,提了个越权,然后我们组长告诉我这根本不叫漏洞。。。。。。
|
110
H3x 2021-11-19 16:42:04 +08:00
这个问题很典型,也很有借鉴意义,常见于渗透小白,属于方法会了,但是逻辑搞错了。
|
111
adoal 2021-11-19 17:01:58 +08:00
搞等保那批人懂个屁的安全
|
112
adoal 2021-11-19 17:02:45 +08:00
不过你这个确实也是问题。还是要加上检查的。
|
113
itechnology 2021-11-19 18:20:45 +08:00
@conhost 双因子认证这个我知道,但你不可能每个请求都用双因子认证吧?据我说知国内大多数用上双因子认证的也只是在关键交易上用。
token 对于系统来说就相当于用户,讲道理,你 token 都被人拿到了,那还有什么不能拿到的。 |
114
conhost 2021-11-19 18:43:43 +08:00 via iPhone
@itechnology 我的意思是说如果只是简单替换 token 就能访问的话,也是存在问题的,并不能就说很逗,即使不用每个请求都双因子认证,也可以对请求签名啥的,虽然也存在问题,但是至少楼主的问题可以完美解决
|
115
markgor 2021-11-20 09:31:48 +08:00
息事宁人的做法,按它说的改;
暴脾气的做法: 直接回怼并说明详细原因, 建议去(腾讯、阿里、百度) 登录会员页面,替换 token/cookie 尝试, 然后去他们家对应的漏洞平台提交, 把大厂回复你的内容黏贴去报告中, 再反问利用 sessionID 的话,如果复制对应的 cookie 信息,不也是会产生“被盗”吗? |
116
opengps 2021-11-20 22:40:13 +08:00
莫非要 token 换成非对称加密的密文,服务端每次解码验证下才能行?
|
117
yedanten 2022-02-13 13:42:14 +08:00 via Android
你指望安服崽的水平?
|
118
unco020511 210 天前
@pupboss #106 前端还需要反推吗,直接控制台源码打开一看不就知道你的签名算法了.问题是你自己把大门打开,请人家使用你的机器,然后说这很不安全
|