Python 爬虫挺刑的,去 VX 公众某位置,平台登录加密参数扣取
⛳️ 实战场景
本篇博客我们继续围绕登录加密进行学习,本次要时间的站点是如下所示,可以看图猜站点。
是否猜到公众平台号了~
![]()
小日子越来越刑了
目标站点如下所示,使用了 URL 加密
登录加密的逻辑,可以直接使用一个测试账号即可(本案例不实现登录之后的扫码验证,那是另一套反爬逻辑了)
添加断点的方式,截止到今天我们学习了三种:
寻找 DOM 元素的事件绑定;
通过关键字添加 XHR 断点;
直接在启动器中点击 JS 文件。
本次选择启动器中点击 JS 文件添加断点的形式,在开发者工具中捕获登录的网络请求,点击下图中的 loginpage.js 文件。
在格式化之后的代码中添加断点。
通过堆栈的调用关系,可以快速定位到参数加密位置,如下所示:
其中 pwd 所在行就是参数的加密位置,直接添加断点,同时两个函数前的箭头也点亮。
其中 substr() 函数是 JS 中截取字符串操作,可以通过下述代码进行测试。
然后随着代码进入 f() 函数,其内部代码如下所示:
这段逻辑在 JS 中还挺有意思,因为其中 t 和 n 传递的都是 undefined,所以我们删减一下逻辑。
使用括号区分
因为 t 与 n 都是 undefined,所以最终的结果是 o(r(e)),其中的 e 是原密码字符串。
继续调试代码,进入 r() 函数,得到如下代码:
在依次提取该函数引用的其它函数。
都得到之后,接下来就是组合相关函数,改写其函数名逻辑了,这里我们可以借用一些 JS 逆向工具,例如“鬼鬼 JS 调试工具”。
反复测试之后,就能得到其核心 JS 文件。
接下来的工作就非常简单了,我们通过 Python 去加载该文件,然后调用其pwd 函数。
运行代码之后,得到最终的加密结果:
其实本案例在看到加密之后的值时,就已经猜到了是 md5 加密,本博客仅为大家展示如何扣取 JS 文件,在本地加载复盘。
📣📣📣📣📣📣右下角有个大拇指,点赞的漂亮加倍
版权声明: 本文为 InfoQ 作者【梦想橡皮擦】的原创文章。
原文链接:【http://xie.infoq.cn/article/7ac76fe40c30941175ca8721c】。文章转载请联系作者。










评论