前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫进阶必备 | 某小说(XX猫)网站加密分析

Python爬虫进阶必备 | 某小说(XX猫)网站加密分析

作者头像
咸鱼学Python
发布2019-12-12 16:10:56
1.8K0
发布2019-12-12 16:10:56
举报
文章被收录于专栏:咸鱼学Python咸鱼学Python

目标网站:

aHR0cHM6Ly93d3cuY2l3ZWltYW8uY29tL2NoYXB0ZXIvMTAzNTQzODcy

抓包分析与加密定位

先抓包分析一波【图1-1】

图1-1

通过抓包可以看到一个比较明显的加密请求,具体是不是还是要通过检索关键字定位一下。

像这类带有字段名称的内容直接搜索键名有比较大的可能性能定位到。【图1-2】

图1-2

检索结果只有一条,点开再检索一次【图1-3】

图1-3

在检索的文件中再次检索有两个结果,但是通过结合上下文的代码,可以大致分析出【图1-3】中建投标注的地方才是解密的地方,先打上断点,重新加载下页面【图1-4】

图1-4

可以看到上面sucess方法中传入的值res就是我们在network中请求的返回值。

我们从275行追进去看看是不是我们需要的加密。【图1-5】

这里的myDecrypt返回的值就是解密后的值。【图1-6】

图1-6

这样就定位到了加密的位置。接下来就需要将解密的逻辑扣取出来就可以了。

加密分析与扣取加密逻辑

先看下解密代码的主题部分

代码语言:javascript
复制
myDecrypt: function(f) {            var g = new b([]);            return g.decrypt(f)}

打上断点,可以看到f 中大部分值是我们请求返回的值,但是有一个accessKey在请求的返回值中没有包含【图2-1】

图2-1

其实这个值包含在【图1-1】中的上一个请求的返回值当中。【图2-2】

图2-2

找到这个accessKey之后传入的值就齐全了,接下来继续分析

可以看到解密的主体部分是decrypt这一段,但是前面一段花里胡哨的没啥卵用【图2-3】

图2-3

这里的s就是我们传入的值,和【图2-1】的f没啥不一样的,所以我们直接传入就好了。【图2-4】

接下来的逻辑就非常简单了,缺啥补啥,CryptoJS直接导入,Base64需要简单改改,代码比较多就不上了,直接上个运行结果。【图2-5】

图2-5

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 抓包分析与加密定位
  • 加密分析与扣取加密逻辑
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档