目录
本文由掌控安全学院 - 小博 投稿
一 JWT
JWT:
JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。
在线解密查看内容:
-
https://jwt.io/
JWT的使用场景:
1.Authorization(授权): 这是使用JWT的最常见场景。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该令牌允许的路由、服务和资源。单点登录是现在广泛使用的JWT的一个特性,因为它的开销很小,并且可以轻松地跨域使用。
2.Exchange (信息交换):对于安全的在各方之间传输信息而言,JSON Web Tokens无疑是一种很好的方式。因为JWT可以被签名,例如,用公钥/私钥对,你可以确定发送人就是它们所说的那个人。另外,由于签名是使用头和有效负载计算的,您还可以验证内容没有被篡改。
JWT构造:
JSON Web Token由三部分组成,它们之间用圆点连接。
这三部分分别是:
-
Header
-
Payload
-
Signature
Header由两部分组成:
1.token的类型(JWT)
2.算法名称(比如: HMACSHA256或者RSA等等)
Payload:
声明是关于实体(通常是用户)和其他数据的声明。
声明有三种类型: registered, public 和 private。
Signature:
为了得到签名部分,你必须有编码过的header、编码过的payload、一个秘钥,签名算法是header中指定的那个,然对它们签名即可。
二 漏洞描述:
开源服务管理平台Nacos在默认配置下未对token.secret.key进行修改,导致远程攻击者可以绕过密钥认证进入后台,造成系统受控等后果。