首页 文章详情

Python 爬虫进阶必备 | 某外卖平台 token 加密逻辑

咸鱼学Python | 298 2021-12-11 12:20 0 0 0
UniSMS (合一短信)

网站链接

aHR0cHM6Ly9oNS53YWltYWkubWVpdHVhbi5jb20vd2FpbWFpL21pbmRleC9ob21l

网站分析

搜索的post,提交参数中有一个_token的加密参数

通过搜索关键词_token:有两个文件,在两个文件中搜索token关键字,最终定位到一个js文件内,并在所有的关键词可疑点上都打上断点

然后最终定位到这里,这个n.data._token = (0, c.Z)(n.url, n.data), delete n.appendMTSI);就是加密的位置,我们点进去看js

经过分析,锁定这个A就是加密逻辑的函数

进入到这个函数中,基本确认这里就是加密逻辑的入口函数了

然后我们把js复制下来放在本地去执行分析

js分析

扣下来的js会有很多环境缺失的报错,补上window,document,navigator环境就可以了

这里还有个点,要把这个对象的这两个值也传过来,不然也会报错

直接在js上方手动写死,声明就可以

var Rohr_Opt = Object;
Rohr_Opt.Flag = 101701;
Rohr_Opt.LogVal = "rohrdata";

然后就是在外部去调用函数,直接用window.变量把函数提升到全局作用域,就可以直接在外部去调用了

最后直接在外部,传参调用,就能得到加密后的值了

// 调用:
console.log(window.meituan_token('url参数'))
// 运算结果为:
eJyrViryTFGyMjQwNDcw1FEqSy1SslIy1DPQM1PSUSopBsqYGVuYGhiampubWhrrKCWji1noKCUVhbkoWUUbm5vqWBgaxYIEgoB8hACCZWQCRCAVnkAFSolJ+aUlVkk5iXnZQNuUgOK5IUBxIJ0NpROhdAmM7wt0HlBtcWZ6HpCV6lUREpru6ejonu4YFGhrq1QLAMYrNQY=

小结

这个token不是很难,另外还有一个加密参数,我们下篇文章再说


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter