推荐
关注
TOP
Message

JS逆向实战5--JWT TOKEN x_sign参数

声明

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

什么是JWT

JWT(JSON WEB TOKEN):JSON网络令牌,JWT是一个轻便的安全跨平台传输格式,定义了一个紧凑的自包含的方式在不同实体之间安全传输信息(JSON格式)。它是在Web环境下两个实体之间传输数据的一项标准。实际上传输的就是一个字符串。广义上讲JWT是一个标准的名称;狭义上JWT指的就是用来传递的那个token字符串

JWT用来做什么?怎么来的?

由于http协议是无状态的,所以客户端每次访问都是新的请求。这样每次请求都需要验证身份,传统方式是用session+cookie来记录/传输用户信息,而JWT就是更安全方便的方式。它的特点就是简洁,紧凑和自包含,而且不占空间,传输速度快,而且有利于多端分离,接口的交互等等
JWT是一种Token规范,主要面向的还是登录、验证和授权方向,当然也可以用只来传递信息。一般都是存在header里,也可以存在cookie里。

爬虫

为什么要介绍jwt呢 因为这次本人爬取的网站就需要token headers里面传了一个x-sign的值
话不多说直接进行分析

抓包分析


由上图可以看到,这个包就是外面所需要的数据
然后看他的请求参数和请求头


由分析可知,我们可以看到 这有些变量是需要我们去伪装的 比如请求体里的时间戳
比如这个x-sign

寻找断点

因为这个headers加密 所以我们直接进入堆栈中找请求参数

我们通过翻页进入断点

由此可知这个确实是请求所需参数 但是x-sign还没由生成
我们不停的打断点 找到这个值

这个过程需要耐心
其实我们如果了解JWT 看到x-sign的值就应该敏感 直接搜JWT 就能搜到
然后再打几个断掉 找到加密参数的地方

分析参数

由上述图所知,我们需要传一个参数进去 ,其他值随笔伪装伪装即可
我们反推参数找到下面这段代码

我们看到这个值 可以确定 是用这个值然后通过md5加密 最后得到Headers的值的

posted @ 2022-09-20 10:55  始識  阅读(816)  评论(1编辑  收藏  举报