去哪儿旅行JS逆向:__m__加密和请求头键值对加密(上篇)

🔍 引言

去哪儿旅行平台使用了复杂的加密手段。本篇将重点解析__m__请求头键值加密的实现,关于调试过程和逆向方法欢迎指正。
在这里插入图片描述

🔍 JS逆向步骤详解

1️⃣ 抓包关键参数

首先,我们使用抓包工具捕获目标网站的网络请求,找出加密的关键参数:
在这里插入图片描述
请求头:键值同时加密,pre参数加密
请求参数加密:m Bella
通过分析,我们发现__m__参数是经过加密的,接下来需要定位加密代码。

2️⃣ 断点调试

我们在浏览器的开发者工具中进行断点调试:
在这里插入图片描述
找到__m__参数加密位置:先定位到__m__参数的生成位置,跟踪函数调用,找到加密函数encrypt。
在这里插入图片描述
encrypt又调用了encryptFunction加密函数。
在这里插入图片描述
分析加密算法:通过跟踪加密函数的调用,发现使用了SHA1和MD5加密算法。
在这里插入图片描述
请求头加密位置:搜索headers,观察本地变量的值变化,找到请求头键值的赋值位置。
在这里插入图片描述
跟踪函数调用,找到实现为getToken方法。
在这里插入图片描述

3️⃣ 扣JS代码

将关键的加密代码扣取下来,根据其逻辑进行逆向分析。
在这里插入图片描述

4️⃣ Python调用

使用execjs库调用JS代码,实现参数的逆向解密,并打印结果。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Switch616

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值