【大众点评】加密参数生成逆向分析

news2024/11/22 21:29:16

在这里插入图片描述
点击好评
https://www.dianping.com/ajax/json/shopDynamic/allReview
在这里插入图片描述

分析参数_token

直接搜_token
共17个,优先看和请求相关的
在这里插入图片描述
在这里插入图片描述
给第一个_token打上断点,然后切换评论,就直接断住了

n = h(i, e.sendData)
_token: n

在这里插入图片描述
现在给它打上断点,然后刷新页面
现在进去看看h方法
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
h方法里面最核心的就是i.reload(s)
i.reload(s)里面最核心的就是iP.sign = iJ(jx);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
明文字符串先是变为Uint8Array
然后再变为base64格式字符串
在这里插入图片描述
iD方法里面也确实是对Uint8Array进行一些运算
在这里插入图片描述
现在把Uint8Array数组转为base64

function Uint8ArrayToBase64(uint8Array) {
    return Buffer.from(uint8Array).toString('base64');
}

var jc = [120, 156, 83, 74, 206, 44, 169, 244, 76, 177, 53, 81, 203, 47, 74, 73, 45, 178, 77, 206, 207, 205, 205, 207, 83, 43, 206, 200, 47, 0, 138, 122, 24, 122, 153, 101, 101, 152, 71, 5, 122, 133, 4, 37, 22, 186, 122, 130, 197, 67, 42, 11, 82, 109, 13, 13, 212, 138, 75, 115, 115, 19, 139, 42, 253, 18, 115, 83, 109, 75, 243, 82, 82, 211, 50, 243, 82, 83, 148, 0, 136, 73, 28, 175]
console.log(Uint8ArrayToBase64(new Uint8Array(jc)));

在这里插入图片描述
结果完全没有问题
现在返回过去
在这里插入图片描述
字符串

‘cityId=4&order=common&shopId=H1J6jh7ZQJTRaqEI&shopType=10&summaryName=undefined’

先是经过cD.deflate方法转Uint8Array再是转base64
然后得到结果

‘eJxTSs4sqfRMsTVRyy9KSS2yTc7Pzc3PUyvOyC8AinoYepllZZhHBXqFBCUWunqCxUMqC1JtDQ3UiktzcxOLKv0Sc1NtS/NSUtMy81JTlACISRyv’
在这里插入图片描述
cD.deflate方法内部就是压缩字符串得到uint8Array

const zlib = require('zlib');

function compressString(str) {
    var compressed = zlib.deflateSync(str);
    return Array.from(compressed);  // 输出压缩后的数组形式
}

function Uint8ArrayToBase64(uint8Array) {
    return Buffer.from(uint8Array).toString('base64');
}

var jd = 'cityId=4&order=common&shopId=H1J6jh7ZQJTRaqEI&shopType=10&summaryName=undefined'
arr = compressString(JSON.stringify(jd));
res = Uint8ArrayToBase64(new Uint8Array(arr));
// 得到结果 "eJxTSs4sqfRMsTVRyy9KSS2yTc7Pzc3PUyvOyC8AinoYepllZZhHBXqFBCUWunqCxUMqC1JtDQ3UiktzcxOLKv0Sc1NtS/NSUtMy81JTlACISRyv"
console.log(res);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2231794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python+Pycharm】2024-Python安装配置教程

【PythonPycharm】2024-Python安装配置教程 一、下载装 Python 1、进入Python官网首页,下载最新的Python版本 Download Python | Python.org 选择对应版本下载 安装 测试安装情况 python如果安装失败 在系统环境变量添加安装路径 where pythonwin7安装路径添加…

Python中如何计算整商:详解整除运算及其应用场景

目录 一、整除运算的基本概念 1. 语法 2. 工作原理 二、整除运算的详细解析 1. 整数之间的整除 2. 浮点数之间的整除 3. 整数与浮点数之间的整除 三、整除运算的应用场景 1. 数据处理中的取整操作 2. 循环中的步进控制 3. 分页显示数据 4. 时间计算中的取整 四、整…

sql注入——靶场Less1

?id1 ?id99union select 1,2,3-- 查看占位 ?id1 order by 3-- 尝试出表有几列 ?id1 order by 4-- 说明只有三列 ?id99 union select 1,database(),3-- 查询当前使用的数据库的名称 ?id99 union select 1,group_concat(table_name),3 from information_schema.tables …

教你将华为手机投屏到macOS系统的电脑,协同办公不用愁!

这个信息爆炸的时代,工作效率成为了衡量个人能力的一个重要指标。很多人都了解过华为手机的协同办公能力,华为电脑也可以让多台华为手机同时显示在一个电脑屏幕里。 如果电脑不是华为的,电脑系统换成macOS,还能达到将多台华为手机…

【IC每日一题--单bitCDC跨时钟和同步FIFO】

IC Daily QA--CDC跨时钟和同步FIFO 1 八股题:CDC跨时钟数据传输问题--单bit跨时钟1.1 从慢时钟到快时钟--->直接打两拍即可;1.2 快时钟到慢时钟1.2.1 脉冲信号展宽边沿检测1.2.2 慢到快时钟--握手边沿 2 手撕题:同步FIFO代码;1…

零基础玩转IPC之——如何实现远程实时查看监控视频(P2P)

P2P是peer-to-peer的简称,又称为点对点技术,是没有中心服务器、依靠用户群节点进行信息交换的对等式网络。区别于传统的C/S中央服务器结构,P2P网络中每一个用户节点即是客户端又是服务端,能同时作为服务器给其他节点提供服务。 优…

ubuntu20安装opencv3.2记录

系统环境 ubuntu20安装了ros-noetic,所以系统默认装了opencv4.2.0,但是跑fastlivo推荐的是opencv3.2.0,而且海康相机别人写的ros驱动(海康相机ros驱动)也是需要opencv3.2.0,最终还是选择安装多版本的openc…

Ecosmos携手第二十六届高交会,开启元宇宙展会新纪元

2024年11月14日至16日,第二十六届中国国际高新技术成果交易会(简称“高交会”)将在深圳国际会展中心盛大举行。 本届高交会以“科技引领发展 产业融合聚变”为主题,展览面积达40万平方米,将设置22个专业展,…

奇瑞汽车:降阶模型在新能源汽车热管理仿真上的应用

随着新能源汽车的发展,对仿真技术的要求也越来越高。那么奇瑞汽车利用降阶模型在新能源汽车热管理仿真上做了哪些应用呢?本次内容主要从四个方面展开介绍: 1、 奇瑞汽车简介; 2、 热管理降阶模型开发的背景; 3、 高低…

【NLP-06】词形还原(Lemmatization)深度解析与实践

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

卖三蹦子的wordpress模板

Tricycle三奔子wordpress模板 卖三轮的跨境电商B2B产品展示型网站wordpress模板,助力二大爷的三奔子卖向全球,让在中国遍地热销的三蹦子在海外也大卖. https://www.jianzhanpress.com/?p8178

Java | Leetcode题解之第535题TinyURL的加密与解密

题目&#xff1a; 题解&#xff1a; public class Codec {private Map<Integer, String> dataBase new HashMap<Integer, String>();private Random random new Random();public String encode(String longUrl) {int key;while (true) {key random.nextInt();i…

NFTScan Site:以蓝标认证与高级项目管理功能赋能 NFT 项目

自 NFTScan Site 上线以来&#xff0c;它迅速成为 NFT 市场中的一支重要力量&#xff0c;凭借对各类 NFT 集合、市场以及 NFTfi 项目的认证获得了广泛认可。这个平台帮助许多项目提升了曝光度和可见性&#xff0c;为它们在竞争激烈的 NFT 市场中创造了更大的成功机会。 在最新更…

保研考研机试攻略:python笔记(2)

&#x1f428;&#x1f428;&#x1f428;宝子们好呀&#xff0c;今天我们继续来学习N诺提供的python笔记&#xff0c;fighting&#xff01;( •̀ ω •́ )✧ 对这个系列感兴趣的宝子欢迎关注保研考研机试攻略专栏哦 ~ 目录 &#x1f428;&#x1f428;&#x1f428;4进制转…

【动手学电机驱动】 STM32-FOC(2)STM32 导入和创建项目

STM32-FOC&#xff08;1&#xff09;STM32 电机控制的软件开发环境 STM32-FOC&#xff08;2&#xff09;STM32 导入和创建项目 STM32-FOC&#xff08;3&#xff09;STM32 互补 PWM 输出 STM32-FOC&#xff08;4&#xff09;IHM03 电机控制套件介绍 STM32-FOC&#xff08;5&…

【力扣专题栏】字母异词分组,如何利用强大的容器(unordered_map)解决该问题?

题解目录 1、题目描述解释2、算法原理解析3、代码编写 1、题目描述解释 2、算法原理解析 3、代码编写 class Solution { public:vector<vector<string>> groupAnagrams(vector<string>& strs) {//创建哈希表unordered_map<string,vector<string&g…

vscode clangd for cuda 插件配置

这里写目录标题 1. 下载插件clangd,并且安装server到host2. 配置3. 安装调试插件 1. 下载插件clangd,并且安装server到host 步骤 extension下载 altshiftp, 下服务&#xff0c;如果下不下来请考虑用&#x1fa9c; 下载好后check一下&#xff0c;检查是否正常 正常的标志 注意…

Oracle 11g DataGuard GAP处理

1 说明 在Oracle Data Guard中&#xff0c;GAP是指在备库无法接收到一个或多个来自主库的归档日志文件时发生的情况&#xff0c;会导致数据保护和实时数据复制的能力受到影响。 Oracle Data Guard架构日志同步有三个阶段&#xff1a; 日志发送&#xff1b;日志接收&#xff…

2023年编程语言排行榜

随着编程语言的不断发展&#xff0c;跟踪哪些语言处于领先地位至关重要。在这两部分中&#xff0c;我们将深入研究 2023 年排名前 40 的编程语言&#xff0c;并分析它们脱颖而出的原因。 40 种顶级 TIOBE 编程语言 1. Python 受欢迎程度&#xff1a;非常高学习难度&#xff1…

ELK之路第四步——整合!打通任督二脉

ELK之路第四步——整合&#xff01;打通任督二脉 前言1.架构2.下载资源3.整合开始1.分别启动三个es2.启动kibana3.新建filebeat_logstash.yml配置文件4.修改logstash的启动配置文件5.启动logstash6.启动filebeat7.Kibana查看 4.结语 前言 在开始本篇之前&#xff0c;你需要用到…