Python 爬虫进阶必备 | 某公共资源交易网详情页链接加密逻辑分析

咸鱼学Python

共 1101字,需浏览 3分钟

 ·

2021-09-24 20:31

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

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



今日网站

aHR0cDovL2dnenkuendmd2IudGouZ292LmNuL3F1ZXJ5Q29udGVudC1qeXh4LmpzcHg=

这个网站来自技术交流群聊记录,忘记是哪个大佬发的,听说很简单,所以复现一下

抓包分析

把上面的密文解开,打开是列表页面,我们要分析的加密是点击链接之后打开新页面的网址

这个网址在列表页的网址上的显示如下

所以需要抓包看看这个点击的过程做了什么操作。

不过这里比较难受的是这个点击链接是从新的标签页打开,这个时候开发者工具就抓不到新页面的包了

有人会说,那我就用抓包工具不就好了,话是这么讲,但是像我这么懒,只想躺平连个抓包工具都不想开的要怎么搞?

其实很简单,直接改代码

找到要打开的页面链接,删掉 html 中下图红框的代码就可以了

这个时候点击对应的列表项,就可以抓到这个请求详情页的包了。

加密定位

通过上面这个方法可以抓到请求详情页的包,自然也可以通过堆栈找到 js 的加密逻辑了。

通过Initiator可以看到堆栈信息

这里就可以看到js的加密逻辑了。

注意

不要等待请求跳转过去!!!

不要等待请求跳转过去!!!

不要等待请求跳转过去!!!

跳转过去 eval 这个栈就点不了了,所以看到Network里面出现了包的时候就取消请求

这个时候,Initiator中的eval才可以点击

不然就会是下面这样的

eval 的位置显示 unkown

加密分析

找到js加密的位置剩下的就简单了

这一段是加密的主逻辑,这里调用了aes加密

我们复制到 webstrom 里调试下

删掉无关的逻辑,例如eer.test这些逻辑判断

就看到下面这样的代码了

记得要安装crypto-js,不然加密逻辑要自己扣,麻烦

这个时候运行,代码提示s未定义

这个很简单的,从这个图里可以知道eval的上一个栈是jquery.mini.js

所以在这个文件里找就可以了

直接检索定义var s = 只有一个结果

带入这个s值到我们的js逻辑里就可以的到下面的结果了

再和网页上对比一下

结果是一样的,本篇的难度主要在这个抓包不好抓,定位eval需要一些浏览器的小技巧,适合新手锻炼调试手法。

我是没有更新就在摸鱼的咸鱼

以上就是今天的全部内容了

收到请回复~

我们下次再见。

对了,看完记得一键四连,这个对我真的很重要。

浏览 125
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报