网页抓取 加密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需要一定的浏览器技巧,适合新手练习调试技巧。

  我是一条咸鱼,不更新就打鱼

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线