朴朴超市小程序 sign-v2 分析

声明

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

部分python代码

复制代码
cp = execjs.compile(open('run.js','r',encoding='utf-8').read())
result = cp.call('getSign',unique_id)
print(result)
headers = {
    "accept": "application/json",
    "accept-language": "zh-CN,zh;q=0.9",
    "cache-control": "no-cache",
    "chart_ab": "4",
    "content-type": "application/json",
    "is_show_classification_word": "1",
    "label_assembly_ab": "1",
    "open-id": "",
    "pp-os": "0",
    "pp-placeid": unique_id,
    "pp-suid": unique_id,
    "pp_storeid": unique_id,
    "pragma": "no-cache",
    "priority": "u=1, i",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "cross-site",
    "shopping_car_hint_banner_module": "1",
    "sign-v2": result['sign'],
    "spu_shopping_guide_link_ab": "1",
    "timestamp": str(result["timestamp"]),
}
url = "product/recall"
data = {
    "card_line": 1,
    "page": 1,
    "size": 20,
    "area_list": [],
    "area_second_id": "",
    "is_top": 0
}
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, data=data)

print(response.text)
print(response)
复制代码
cp = execjs.compile(open('run.js','r',encoding='utf-8').read())
result = cp.call('getSign',unique_id)
print(result)
headers = {
    "accept": "application/json",
    "accept-language": "zh-CN,zh;q=0.9",
    "cache-control": "no-cache",
    "chart_ab": "4",
    "content-type": "application/json",
    "is_show_classification_word": "1",
    "label_assembly_ab": "1",
    "open-id": "",
    "pp-os": "0",
    "pp-placeid": unique_id,
    "pp-suid": unique_id,
    "pp_storeid": unique_id,
    "pragma": "no-cache",
    "priority": "u=1, i",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "cross-site",
    "shopping_car_hint_banner_module": "1",
    "sign-v2": result['sign'],
    "spu_shopping_guide_link_ab": "1",
    "timestamp": str(result["timestamp"]),
}
url = "product/recall"
data = {
    "card_line": 1,
    "page": 1,
    "size": 20,
    "area_list": [],
    "area_second_id": "",
    "is_top": 0
}
data = json.dumps(data, separators=(',', ':'))
response = requests.post(url, headers=headers, data=data)

print(response.text)
print(response)

结果

总结

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

相关推荐
TE-茶叶蛋几秒前
TF-IDF 与 BM25 深度解析:从理论到项目实战
python·django·tf-idf
xcbrand4 分钟前
湖南VI设计公司排名
大数据·人工智能·python
一 乐10 分钟前
家政服务管理系统|基于springboot + vue家政服务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·家政服务管理系统
lllsure32 分钟前
【开源项目】Learn Claude Code
python·ai
碳基硅坊1 小时前
Spring AI:把大模型接进 Spring 应用
java·人工智能·spring ai
黄毛火烧雪下1 小时前
Java 核心知识点总结(一)
java·开发语言
技术小结-李爽2 小时前
【工具】Maven的下载、安装、使用
java·maven
极创信息2 小时前
Linux挖矿病毒深度清理实战教程,从进程隐藏、Rootkit驻留到彻底根除
java·大数据·linux·运维·安全·tomcat·健康医疗
努力成为AK大王2 小时前
并发编程的核心挑战、优化方案与核心知识点总结
java·开发语言·数据库
云烟成雨TD2 小时前
Agent Scope Java 2.x 系列【10】技能(Skill)
java·人工智能·agent