您的位置:首页 > 编程语言 > Python开发

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

2020-01-13 11:36 501 查看

点击上方“咸鱼学Python”,选择“加为星标”
第一时间关注Python技术干货! 建议收藏 | 最全的 JS 逆向入门教程合集目标网站: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

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

加密分析与扣取加密逻辑

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

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

以上就是今天教程的全部内容了,感觉有帮助的朋友来波好看支持一下~感谢~

  • 点赞
  • 收藏
  • 分享
  • 文章举报
煌金 发布了131 篇原创文章 · 获赞 1 · 访问量 904 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: