前言
过年了 没啥精神搞逆向了,随便水水
流程分析
上手直接流程分析,网站都不给 怎么说~
如下图目标 JWT
直接先解码,解码出来JWT用的加密是RS256
下图是body加密体
那难点其实就是RS256的密钥了。
这里直接搜索 下uiID
往上追栈 可以发现 异步非常的多。而且一堆await
这里我们看下上面那个方法
可以看到 这里是加密 body请求载荷的地方。
从这个地方挨个去追栈
然后到下图位置。直接是Promise["resolve"]的地方
那这里简单介绍下
Promise
对象代表一个异步操作,有三种状态:
Pending
(进行中)、
Resolved
(已完成 ,又称Fulfilled
)
Rejected
(已失败)。
所以resolve(data)才能进行下一步.then的方法 resolve
里的参数就是传入then
的数据
执行到 resolve()这个方法的时候,就改变promise的状态为resolved,当状态为 resolved的时候就可以执行.then()
当执行到 reject() 这个方法的时候,就改变 promise的状态为 reject,当promise为reject就可以.catch()这个promise了
当看到 下图
所以要获取的就是这个_signature
这里然后向上层追栈
下图即密钥位置
复制下列信息 以及signatrue放到网页中>>>jwt在线解密/加密 - JSON中文网
然后比对一下。一模一样
原文始发于微信公众号(实战安全研究):某航空jwt逆向流程分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论