Java – Sicherheitsprobleme beim JWT-Token.
高洛峰
高洛峰 2017-07-03 11:43:27
0
4
1151

ADie A- und B-Systeme sind vom Front- und Back-End getrennt.
(Zwei SystemeDomainübergreifend)
Jetzt springt eine Seite in System A zu System B.
Jetzt verwende ich es, um zu System B zu springen. In der Adressleiste befindet sich ein verschlüsseltes Token (einschließlich Benutzer-ID), das die automatische Anmeldung erleichtert.
Auf dieser Seite werden Produktinformationen und Rabatte für diesen Benutzer angezeigt.

Angenommen, ich kenne zu diesem Zeitpunkt das Token einer anderen Person und ändere dann die Adressleiste. Die Seite wird zur Information einer anderen Person.

Zu diesem Zeitpunkt kannte ich noch nicht einmal die Kontopasswörter anderer Leute, und dann bekam ich die Benutzerinformationen einiger anderer Leute.

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(4)
过去多啦不再A梦

https加密吧,Http协议本身就不安全,明文的。
这几位说的对,我说错了

曾经蜡笔没有小新
  1. 最简单的办法,也是比较安全的办法。在b站帮其登录的时候,再弹次框。让其确认密码!

  2. 有个叫csrf的令牌或者。随机数的办法。值得你拥有。csrf令牌就是限制这样的跨域攻击的

  3. JWT的验证token是要放到header里的,你可以考虑授权认证

小葫芦

首先token的出现就是为了解决用户验证的问题 既然是两个系统了就应该避免自动登录的这种情况 这是很不安全的。
不过你既然有这样的需求 那只有尽量侧面规避了,给个方案:token中尽量避免敏感信息 ,其次就是在授权跨系统的token时 把这个token的授权设为一次性的 并且压缩token的有效时间 如此token只办30分钟内有效
其实你可以参考现在的很多第三方登录 如微博等 授权的token都只包含昵称,头像等少量信息

Ty80

题主这是真实场景的情况吗?

如果你能得到别人的 token,相当于窃听了他的密码,这不是 JWT 的安全问题。

与 JWT 本身有关的措施,就是加入过期时间,强制 JWT 在一定时间后失效。

根据 JWT 规范,JWT 最好是放在请求头部 Authorization 中,不要放在 URL 里。

HTTPS 是有用的。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage