自学内容网 自学内容网

Authentication Lab | CVE-2019-7644 - JWT Signature Disclosure

关注这个靶场的其他相关笔记:Authentication Lab —— 靶场笔记合集-CSDN博客

0x01:JWT Signature Disclosure 前情提要

本关的考点是 JWT(Json Web Token)漏洞,JWT 是一个用于跨域认证的技术。如果你不了解 JWT,可以参考这篇文章:JWT 详解

CVE-2019-7644 低于 1.0.4 版本的所有 Auth0-WCF-Service-JWT NuGet 包,在 JWT 签名验证失败时发出的错误消息中包含有关预期 JWT 签名的敏感信息,格式如下:

 Invalid signature. Expected 8Qh5lJ5gSaQylkSdaCIDBoOqKzhoJ0Nutkkap8RgB1Y= got 8Qh5lJ5gSaQylkSdaCIDBoOqKzhoJ0Nutkkap8RgBOo=

此漏洞允许攻击者使用此错误消息来获取任意 JWT 令牌的有效签名,使得攻击者可以伪造令牌来绕过身份验证与授权机制。

0x02:JWT Signature Disclosure Write UP

进入靶场,靶场的目标写的很详细,更新 JWT 的内容使自己获取系统认可的管理员权限:

我们首先将已经获得的 JWT 信息去 JWT 官网(JSON Web Tokens - jwt.io)进行一个解密:

我们修改一下解密后的 Payload 值,将 level 的值改为 administrator,并尝试进行验证:

我们看一下报错的内容:

直接把自己预期的签名报出来了,我们拿它预期的签名替换我们错误的签名再次进行提交:

可以看到,服务器成功校验了我们提交的 JWT 信息,并且我们成功的获得了管理员(administrator)权限:


原文地址:https://blog.csdn.net/m0_73360524/article/details/142648864

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!