前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 爬虫进阶必备 | 某小众电商请求参数加密逻辑分析

Python 爬虫进阶必备 | 某小众电商请求参数加密逻辑分析

作者头像
咸鱼学Python
发布2021-09-08 10:33:39
4100
发布2021-09-08 10:33:39
举报
文章被收录于专栏:咸鱼学Python咸鱼学Python

点击上方“咸鱼学Python”,选择“加为星标”

第一时间关注Python技术干货!

今日网站

aHR0cHM6Ly9saXN0Lm1vZ3UuY29tL3NlYXJjaC9nb29kcz9xPSVFNSVCNyVBNSVFOCVBMyU4NSVFOCVBMyVBNA==

加密分析

在这个站的页面上按 F12 没有反应,我以为有什么防 debugger 的操作,结果防了个寂寞,啥都不是

打开控制台,向下滑动刷新请求,找到页面的请求是下面这个

注意:

虽然往下滑动可以加载新页面,但是这个请求并不是xhr

Networkxhr过滤器下是没有这个请求的,这个请求是个jsonp请求,是由js发起的,在Networkjs过滤器下可以找到这个请求,所以意味着用xhr断点无法调试这个请求。

这个请求的参数如下

一个个检索看看,感觉是比较简单的

提交参数一般逻辑都写在一块,比较好维护,所以可能就会像下面这样检索一个就能把参数找的七七八八

还有一个mw-sign在同一个文件里也能找到

接下来一个个看逻辑,mw-appkey是一个switch逻辑

mw-ttid是一个字符串拼接的操作

代码语言:javascript
复制
this.__ttid = "NMMain@" + [this._type, this._platform, this._version].join("_")
// this._type = "mgj"
// this._platform = "pc"
// this._version = "1.0"

mw-t获取是当前的时间戳

代码语言:javascript
复制
mw-t = String(Date.now())

mw-uuid获取的cookie中的__mgjuuid

那么这个 cookie 是怎么生成的呢?经过分析cookie里的值是set-cookie返回的

代码语言:javascript
复制
// t = __mgjuuid
s = function(t) {
            var e = document.cookie.match(new RegExp("(^| )" + t + "=([^;]*)(;|$)"));
            return null !== e ? decodeURIComponent(e[2]) : ""
}

mw-h5-os是一个固定值unkown

完成以上这些值的获取之后,合并到并传入到buildQuery方法中

代码语言:javascript
复制
e.headers["mw-sign"] = z(this.buildQuery(e))

这里的buildQuery是将e的内容用&拼接,然后将结果传入z

经过buildQuery得到的值如下

代码语言:javascript
复制
100028&pc-search-wall&unknown&1628739222904&NMMain@mgj_pc_1.0&c6603e42-558f-45b7-8423-9c7cba8990df&mwp.pagani.search&19&694b9a6ca4529f328a60392d782ec9a5&8f6d59b5ec26d24c15b05a608b1389da_1628668322693

将这串值传入z,得到的值是下面这串

这串值就很简单啦,长度为 32 ,估计是hash相关的算法,对于1632的长度密文大家要有一定的敏感度

放到网站上验证一下想法

md5的结果完全一致,所以z的逻辑就是一个md5算法。

以上就是本次的全部内容了,咱们下次再会~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 今日网站
    • 加密分析
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档