网站关键字统计,营销比较成功的品牌,网站建设推广群,jsp做网站注册页面【注意#xff01;#xff01;#xff01;】 前言#xff1a; 1. 本章主要讲解js逆向之异步栈跟栈的知识#xff08;通过单步执行调试#xff09; 2. 使用关键字搜定位加密入口 3. 本专栏通过多篇文章【文字案例】的形式系统化进行描述 4. 本文章全文进行了脱敏处理 5. 详… 【注意】 前言 1. 本章主要讲解js逆向之异步栈跟栈的知识通过单步执行调试 2. 使用关键字搜定位加密入口 3. 本专栏通过多篇文章【文字案例】的形式系统化进行描述 4. 本文章全文进行了脱敏处理 5. 详细代码不进行展示需要则私聊作者 爬虫js逆向专栏https://blog.csdn.net/2201_75422674/category_12875823.html 爬虫专栏https://blog.csdn.net/2201_75422674/category_12686609.html - 大家喜欢可以订阅一下不收费用的 目录
【1】抓包分析
【2】入口定位
【3】逆向
【4】结果演示 【1】抓包分析
抓包发现当发送请求时在headers中需要携带图中的3个参数否则会导致抓包失败 【2】入口定位
这里使用关键字搜索的位置来进行加密位置的定位 【3】逆向
1. 当对上述xr.getTokenAndSign进行断点并悬浮进入该函数时发现执行了以下代码 return function(t) {return e.apply(this, arguments)} 2. 这时我们应该对return进行断点悬浮进行e函数查看相关的加密逻辑 3. 悬浮进入该e函数后可见到真正的加密逻辑token为lsignature和timestamp为s(l)加密后的结果。 4. 打开node查看c、u、s函数 4.1 首先可以看到函数 c 接收一个字符串作为输入计算其 SHA-256 哈希值利用当前时间生成一个 32 字符长的字符串并通过特定索引从哈希值中选择字符最终将该字符串转换为 HMAC 密钥并返回该密钥及其生成的时间戳。 4.2 函数 u 根据请求方法处理 URL去掉查询字符串中的问号并在 POST 或 PUT 请求的情况下将请求体中的 FormData 转换为特定格式的字符串或者简单地将请求体附加到 URL以生成最终的请求字符串。 4.3 函数 s 接收一个输入参数首先调用函数 c 生成 HMAC 密钥和时间戳然后利用该密钥对由函数 u 生成的字符串进行 HMAC 签名最后将签名结果编码为 Base64 格式并返回包含签名和时间戳的对象。 总结在使用s(l)进行加密时通过e.apply来调用c或者u函数。
【4】结果演示 由上所见3个加密参数已经成功获取。创作不易请点个赞谢谢~