点击上方“咸鱼学Python”,选择“加为星标”
第一时间关注Python技术干货!
aHR0cDovL2dnenkuendmd2IudGouZ292LmNuL3F1ZXJ5Q29udGVudC1qeXh4LmpzcHg=
这个网站来自技术交流群聊记录,忘记是哪个大佬发的,听说很简单,所以复现一下
把上面的密文解开,打开是列表页面,我们要分析的加密是点击链接之后打开新页面的网址
这个网址在列表页的网址上的显示如下
所以需要抓包看看这个点击的过程做了什么操作。
不过这里比较难受的是这个点击链接是从新的标签页打开,这个时候开发者工具就抓不到新页面的包了
有人会说,那我就用抓包工具不就好了,话是这么讲,但是像我这么懒,只想躺平连个抓包工具都不想开的要怎么搞?
其实很简单,直接改代码
找到要打开的页面链接,删掉 html 中下图红框的代码就可以了
这个时候点击对应的列表项,就可以抓到这个请求详情页的包了。
通过上面这个方法可以抓到请求详情页的包,自然也可以通过堆栈找到 js 的加密逻辑了。
通过Initiator
可以看到堆栈信息
这里就可以看到js
的加密逻辑了。
不要等待请求跳转过去!!!
不要等待请求跳转过去!!!
不要等待请求跳转过去!!!
跳转过去 eval 这个栈就点不了了,所以看到Network
里面出现了包的时候就取消请求
这个时候,Initiator
中的eval
才可以点击
不然就会是下面这样的
eval 的位置显示 unkown
找到js
加密的位置剩下的就简单了
这一段是加密的主逻辑,这里调用了aes
加密
我们复制到 webstrom 里调试下
删掉无关的逻辑,例如ee
,r.test
这些逻辑判断
就看到下面这样的代码了
记得要安装crypto-js
,不然加密逻辑要自己扣,麻烦
这个时候运行,代码提示s
未定义
这个很简单的,从这个图里可以知道eval
的上一个栈是jquery.mini.js
所以在这个文件里找就可以了
直接检索定义var s =
只有一个结果
带入这个s
值到我们的js
逻辑里就可以的到下面的结果了
再和网页上对比一下
结果是一样的,本篇的难度主要在这个抓包不好抓,定位eval
需要一些浏览器的小技巧,适合新手锻炼调试手法。
我是没有更新就在摸鱼的咸鱼
以上就是今天的全部内容了
收到请回复~
我们下次再见。
对了,看完记得一键四连,这个对我真的很重要。