蘑菇街列表页mw-sign值计算

10 篇文章 0 订阅

需求描述

在采集蘑菇街的时候,按照关键词搜索宝贝列表的接口中有mw-sign参数,经过测试发现此参数无法伪造,可以重放。为了脱离浏览器进行采集,需要将这个值解出来。

在这里插入图片描述

分析过程

1.寻找加密位置

代码没有混淆,加密位置比较好找:
在这里插入图片描述
这边可以看到 mw-sign 是z(this.buildQuery(e))这一步生成的

2.分析传入参数

下断点调试,这个过程调用了两次z方法

第一次的位置如下图:
在这里插入图片描述
传入的参数如下:
在这里插入图片描述
在这里插入图片描述
第二次传入参数是一串字符串:该字符串由部分固定参数,cookie,已经上一步调用z方法得到的加密值拼接而来
在这里插入图片描述

将js抠出来做个简单测试:
在这里插入图片描述

100028&pc-search-wall&unknown&1564034676371&NMMain@mgj_pc_1.0&f65f8c1e-6286-4b4a-a917-5061e238155b&mwp.pagani.search&19&b9cab4ab7f543491e2c4f6c556711345&39a9ae72d3faec64f157166036f84edd_1564026637963

结合请求参数,对这一串字符的组成部分进行简单猜测:
大致就是"mw-appkey",“mw-ckey”,“mw-h5-os”,“mw-t”,“mw-ttid”,“mw-uuid”,以及部分请求地址(“mwp.pagani.search/19/”)使用"&"拼接而成,
“b9cab4ab7f543491e2c4f6c556711345"是第一步调用z方法的计算结果,
“39a9ae72d3faec64f157166036f84edd_1564026637963"来自cookie中的”_mwp_h5_token”

那么方向就明确了 将这些参数一一解决即可,部分参数可以固定,下文只讲无法写死的参数

3.mw-uuid

抓包发现这个值是从cookie里来的
在这里插入图片描述

4._mwp_h5_token和_mwp_h5_token_enc

只带mw-uuid,请求目标地址,可以获得这两个参数:
在这里插入图片描述

5.最终流程梳理

  1. 第一次调用z方法计算中间值
  2. 请求蘑菇街https://list.mogujie.com接口获得mw-uuid
  3. 再次调用z方法计算mw-sign值

结果展示

在这里插入图片描述

关注我们

爬虫教程,思路分享,商务合作,请关注射线网络公众号

回复 蘑菇街JS ,可以获得我们帮你抠好的js,本文用于技术学习交流,请勿用于非法用途
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值