JWT身份验证绕过带来的风险

admin 2024年10月17日19:30:48评论19 views字数 1651阅读5分30秒阅读模式

JWT身份验证绕过导致管理面板接管

🍪从一个简单的cookie标准,到Accont被接管😈。这个漏洞,是一个“简单”的错误,我成功地访问了一个网站的管理面板。

1. 什么是 JWT?

对于那些不知道的人来说, JWT( JSON Web Token )是一种广泛用于身份验证的身份验证方法,以前是cookie(仍在使用),但通常JWT更常见,它们可以伴随(并且应该都)带有由服务器签名的签名,正是这个签名验证了 JWT 实际上是有效的

JWT身份验证绕过带来的风险

  • 标头:定义令牌的类型和签名算法。

  • Payload :包含身份验证信息等有价值的信息

  • 签名:使用服务器用来验证令牌的密钥对令牌进行签名。

通常 JWT 采用 base64 编码......

eyJzdWIiOiAiMTIzNDU2Nzg5MCIsICJuYW1lIjogIkpvaG4gRG9lIiwgImVtYWlsIjogImpvaG5kb2VAZXhhbXBsZS5jb20iLCAiYWRtaW4iOiB0cnVlLCAiaWF0IjogMTYwOTQ1OTIwMH0

解码(来自上面的示例):

{
"sub": "1234567890",
"name": "John Doe",
"email": "[email protected]",
"admin": true,
"iat": 1609459200
}

你可能在想,如果有人修改它,我们能做些什么。但这就是它变得复杂的地方,因为服务器是通过订阅进行检查的。

让我们拭目以待!难以想象,像 JWT 这样基本的东西还有可能在2024年变得脆弱吗?

2. 利用过程

当你访问域名时,您通常会得到一个“默认”ID,例如访客或匿名,这是意料之中的……

获取 https://www.example.com/

JWT身份验证绕过带来的风险

请求中没有JWT参数,属于正常情况,我们没有登录或任何需要 JWT 的东西,但是,服务器会开始用一些东西来标记我们......

<script>var atlasCode = "eyJhIjo5NDk2LCJjIjo0NDQ3MzM2NCwibiI6MjEsInMiOjI0MSwiZSI6ODUzLCJwIjozfQ==";</script>

这不是为了身份验证,更多的是跟踪用户在哪里、在哪个页面,更像是一个跟踪器……

从这里开始

在我创建帐户后,会设置一个 cookie 来验证我就是我,因为我就是我。

Set-Cookie: MDH=%21eyJvX2dlbmRlciI6IkEiLCJpc0xvZ2dlZCI6Im4iLCJscGFnZWlkIjo3LCJra0lEIjo4OTg3NiwibGFuZyI6InVzIiwibGFuZCI6ImRlIiwiU0lEIjoiMCIsIkNPTiI6IjE0MTYwMTAwMCIsIkxPR0lOIjoiaiIsIk1ESF9VX0lEIjoiMTMwOTgyMDUxIiwibmljayI6ImhvaGt5dGVzdCIsImVtYWlsIjoiaG9oa3lAYnVnY3Jvd2RuaW5qYS5jb20iLCJnZW5kZXIiOiJNIiwiTE9HSU5USU1FIjoxNzI4OTA4MzY3fQ%3D%3D%24f46a10d0ab6db8eebcd4c7afac6a4d332be8b4bf;

这样就简单了。

使用Burp Suite中的工具,我可以更清楚地可视化 JWT 中的内容:

JWT身份验证绕过带来的风险

我不能只更改像“ u_id”这样的参数,因为这会更改 JWT 并且签名将无效。

如果我不改变它。签名会保持有效状态。

JWT身份验证绕过带来的风险

在右侧,我有一些可选项尝试,还有一个简单的更改,例如更改昵称和“ u_id“。

JWT身份验证绕过带来的风险

JWT 保持有效!!!

我做了一个管理操作,对服务器或用户没有真正的影响,只对我有影响,而且它有效......

JWT身份验证绕过带来的风险

JWT身份验证绕过带来的风险

3. 参考链接

  • 【burp插件-JSON Web Tokens】:https://portswigger.net/bappstore/f923cbf91698420890354c1d8958fee6

JWT身份验证绕过带来的风险

原文始发于微信公众号(埋藏酱油瓶):JWT身份验证绕过带来的风险

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月17日19:30:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JWT身份验证绕过带来的风险https://cn-sec.com/archives/3282613.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息