东方航空 m端 wasm req res分析

声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

部分Python代码

复制代码
headers = {
    "Accept": "application/json, text/plain, */*",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Content-Type": "application/json",
    "M-CEAIR-ENCRYPTED": "true",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "same-origin",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0",
    "X-CEAIR-OS": "M",
    "ceair-token;": "",
    "sec-ch-ua": "\"Not)A;Brand\";v=\"8\", \"Chromium\";v=\"138\", \"Microsoft Edge\";v=\"138\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\"",
}
cookies = {
}
url = "sale/shoppingv2"
cp =  execjs.compile(open('run.js','r',encoding='utf-8').read())
data = cp.call('req')
print(data)
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, cookies=cookies, data=data)

res = response.json()['res']
data = cp.call('decrypt',res)
print(data)
复制代码
headers = {
    "Accept": "application/json, text/plain, */*",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Content-Type": "application/json",
    "M-CEAIR-ENCRYPTED": "true",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "same-origin",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0",
    "X-CEAIR-OS": "M",
    "ceair-token;": "",
    "sec-ch-ua": "\"Not)A;Brand\";v=\"8\", \"Chromium\";v=\"138\", \"Microsoft Edge\";v=\"138\"",
    "sec-ch-ua-mobile": "?0",
    "sec-ch-ua-platform": "\"Windows\"",
}
cookies = {
}
url = "sale/shoppingv2"
cp =  execjs.compile(open('run.js','r',encoding='utf-8').read())
data = cp.call('req')
print(data)
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, cookies=cookies, data=data)

res = response.json()['res']
data = cp.call('decrypt',res)
print(data)

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

相关推荐
骇客野人4 分钟前
使用python写一套完整的智能体小程序
开发语言·python
Aspartame~12 分钟前
企业级WEB应用服务器TOMCAT
java·运维·服务器·tomcat
你我约定有三21 分钟前
分布式微服务--万字详解 微服务的各种负载均衡全场景以注意点
java·开发语言·windows·分布式·微服务·架构·负载均衡
奈斯。zs21 分钟前
java面向对象高级02——单例类(设计模式)
java·开发语言·设计模式
拾荒的小海螺40 分钟前
Redis:缓存雪崩、穿透、击穿的技术解析和实战方案
java·redis·缓存
山楂树の42 分钟前
模型优化——在MacOS 上使用 Python 脚本批量大幅度精简 GLB 模型(通过 Blender 处理)
python·macos·3d·图形渲染·blender
旋风菠萝1 小时前
JVM易混淆名称
java·jvm·数据库·spring boot·redis·面试
雨叶微枫1 小时前
高效编解码协议之protobuf协议详解
java
云霄IT1 小时前
python之使用ffmpeg下载直播推流视频rtmp、m3u8协议实时获取时间进度
python·ffmpeg·音视频
沐风清扬2 小时前
Win10下python环境变量呼出微软应用商店
开发语言·python