前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 爬虫进阶必备 | 关于某租房网站数据加密的分析

Python 爬虫进阶必备 | 关于某租房网站数据加密的分析

作者头像
咸鱼学Python
发布2020-08-07 18:38:16
7570
发布2020-08-07 18:38:16
举报

关于某租房网站数据加密的分析

aHR0cHM6Ly93d3cubWFvbWFvenUuY29tLw==

抓包分析

先看看这个网站的首页数据

可以看到首页的 html 是压缩的,但是格式化之后没有看到需要的首页数据。

过滤 xhr 请求看到一个 index.json的请求

可以看到这个请求的请求参数以及返回值都是密文

返回的结果是一串密文,所以只有定位这个请求的返回值的解密代码,才可以拿到这个数据。

加密定位

因为这个请求是一个 xhr 请求,之前介绍过的 xhr 断点可以用上了,所以先打上断点测试一下,看能不能找到什么

断上之后,可以看到在请求send的地方已经生成了密文了,所以我们需要在堆栈里往前寻找加密的地方

在堆栈区可以看到有很多的堆栈,先看看能不能从堆栈里找到什么关键的地方

可以看到在异步前,有一个 r.request 这个是存疑的地方,先打上断点。

重新加载页面,断点的位置还是没有看到很清晰的逻辑,但是可以看到这里对每一个请求都使用了拦截器,好像有点要定位到加密了,所以继续单步调试进去看看有没有什么能分析的地方。

经过几次的单步调试,果然在then这个方法里有我们想要的东西

可以看到在上面传入了data并且调用了aes_decrypt这个方法进行了解密。

分析加密

这个加密其实很清晰,关于 aes 的原理、加解密相关的知识我在夜幕的系列课程里都反复提及了。

按照这个网站上的代码提示,把加解密的代码都抠出来也行,或者自行找到关于 key 和 iv 之后带入 aes 中也是可以的。

总结

这篇文章的加密很简单,也是定位出加密逻辑的位置比较麻烦,这个例子在我打断点调试的过程中,看到不少关于 hook 请求加请求头之类的操作,并且对请求和返回都用上了拦截器,在拦截器中做数据加解密的操作。

类似的网站大家可以参考某APP数据网站它的操作也是类似的。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于某租房网站数据加密的分析
    • 抓包分析
      • 加密定位
        • 分析加密
          • 总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档