欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]某团外卖H5版本爬虫开发和JS逆向过程(二)

[原创]某团外卖H5版本爬虫开发和JS逆向过程(二)

前言


接上回写美团外卖H5爬虫的讲,上次写了三个参数中x-for-with和_token的生成。本以为UUID,就可以循着这个思路找到了,后来还是有小朋友问我怎么找UUID,这篇做个答疑吧。

本文主要介绍美团外卖H5页面UUID的生成算法逆向。没看过上篇文章的,点这里。(墙裂建议看完上一篇再看这一篇)

某团外卖H5版本爬虫开发和JS逆向过程


参数逆向UUID


先看看UUID长什么摸样。

一般找这种用户身份标识的ID,我们是应该先看前置的报文,是不是服务器返回的UUID,如果是(很多时候都是),就去模拟报文去服务器取一个合法的UUID,如果不是那就很可能是本地生成的。

我们今天这个是再我观察了来往报文发现不是网络通信传回来的,那我就开始再本地找找。

简单粗暴法

先最简单粗暴的办法,就是全局搜一下“-”的使用,看一下他如何拼接字符串。

什么?全局搜?全局搜是怎么搜?

这里需要一个小技巧。

先把该页面保存到本地,ctrl+s,保存到本地即可。

再选择所有的js文件,用notepad++打开

输入关键词全部文件搜索

过程截图如下:

可以看到,我用的关键词是"-",是带双引号的哦(想想原因?)。

搜索结果显示,两个文件中有涉及到这个关键字,我们大致浏览一下代码,发现应该是analytics.js这个文件,或者找到任何你觉得可疑的位置,回到页面的js打上断点,重新刷新页面。

断点找到这里就单步调试还原生成算法就好了,当然也可以把这个js抠出来python调用js执行也ok。

分析一下js源码大致是一些UA参数、分辨率参数等等,自己伪造传入的时候要跟自己包体带的信息一致,最好写手机参数信息哦。下面是我的算法还原函数,供参考。

上面的暴力方法是通过正向编程的经验推断过来的,但也不是次次都好使,下面简单说通常的办法。

顺藤摸瓜法

前期说明一下,我们仔细观察报文可以发现的是,uuid、_lxsdk_cuid、openh5_uuid、_lxsdk都是一致的,仔细看看cookie就知道了。那么我们找到任何一个的生成就可以了。

还是和上次一样的思路,我们先用xhr断点断下网络请求(不会的去看上一篇啊),查看堆栈。

会找到uuid是cookie里面取到的,那么我们就再找一下cookie的设置uuid的部分就好了。

这个和上一篇是一个思路,我就不一个个截图了。


tips


这部分要善用两个东西:

chrome的无痕窗口

页面缓存的删除

好了。自己试试吧~

以上。欢迎阅读转发~

想要转载的朋友请告知我之后转载,并注明原帖来源。

(文章首发于公众号“燕幕自安”,非盗转)

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功