网页抓取 加密html(【咸鱼学Python】第一时间关注Python技术干货!!)
优采云 发布时间: 2021-10-08 04:10网页抓取 加密html(【咸鱼学Python】第一时间关注Python技术干货!!)
点击上方的“Salted Fish Learn Python”,选择“Add as Star”
第一时间关注Python技术干货!
今天网站
aHR0cDovL2dnenkuendmd2IudGouZ292LmNuL3F1ZXJ5Q29udGVudC1qeXh4LmpzcHg=
此网站来自技术交流群聊天记录。忘记是哪个大佬送的了。听说很简单,我就复制一下。
抓包分析
解开上面密文,打开列表页面。我们要分析的加密是点击链接后打开新页面的URL
这个网址在列表页的网址上显示如下
所以需要抓包看看点击过程做了什么。
但这里比较难受的是,点击的链接是从新标签页打开的,此时开发者工具无法捕捉到新页面的包。
有人会说,那我就用抓包工具吧。话是这么说的,但是像我这么懒,只想平躺着连抓包工具都不想开怎么办?
其实很简单,改代码就行
找到你要打开的页面的链接,把html下面红框里的代码删掉。
这时候点击对应的列表项就可以抓取到请求详情页的包了。
加密定位
通过上面的方法,可以抓到请求详情页的包,自然也可以通过栈找到js的加密逻辑。
通过Initiator可以看到堆栈信息
这里可以看到js的加密逻辑。
注意
不要等待请求跳过!!!
不要等待请求跳过!!!
不要等待请求跳过!!!
跳转到eval栈,你将无法点击,所以当你看到网络中有一个数据包时,取消请求
这时候可以点击Initiator中的eval
否则它看起来像这样
评估位置显示未知
密码分析
找到js加密的位置,剩下的就简单了
这部分是加密的主要逻辑,其中aes加密被称为
我们将其复制到 webstrom 进行调试
删除不相关的逻辑,比如ee,r.test,这些逻辑判断
你可以看到下面的代码
记得安装crypto-js,不然加密逻辑要自己推,麻烦
这时候运行,代码提示s没有定义
这很简单。从这张图我们可以知道最后一个eval栈是jquery.mini.js
所以只需在这个文件中找到它
直接搜索定义 var s = 只有一个结果
把这个s值带入我们的js逻辑,得到如下结果
与网页对比
结果是一样的。本文的难点主要是抓包不易抓包,定位eval需要一定的浏览器技巧,适合新手练习调试技巧。
我是一条咸鱼,不更新就打鱼