Python爬虫进阶 | 某监测平台数据加密逆向分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫进阶 | 某监测平台数据加密逆向分析相关的知识,希望对你有一定的参考价值。

今天带大家分析一下某建筑市场监管平台的数据加密

链接:

aHR0cDovL2p6c2MubW9odXJkLmdvdi5jbi9kYXRhL2NvbXBhbnk=

点击企业查询, 发现返回的数据是经过加密后的数据

技术图片

1. 寻找返回的数据

既然数据是通过这个 url 返回的, 全局搜索url

技术图片

http://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg=0&pgsz=15

尝试全局模糊搜索 /query/comp/list

技术图片

点击进入 js 函数

技术图片

返回的结果是请求 url /dataservice/query/comp/list得到的, 打上断点 点击搜索 一步一步调式js代码

技术图片

调试过程就不一步一步分析了, 最终定位到, 感觉像我们想要的数据, 进入Console打印一下 te

技术图片

t 的打印结果

技术图片

tdata 是 最初我们请求http://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg=0&pgsz=15 所返回的加密后数据

然后接着执行下一步, 你会发现, e 这其中的数据不正是我们想要的数据

技术图片

2. 分析加密方式

既然我们已经知道了数据的加密方式, 那我们就重点分析一下这个地方

技术图片

其中t.data我们在第一步已经分出来了 使我们第一步请求 http://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg=0&pgsz=15得到的结果

<img src="https://user-gold-cdn.xitu.io/2019/10/20/16de70d83c5d4d7c?w=2874&h=1490&f=png&s=404741"/>;

那我们重点分析 m 函数 的处理过程, 点击进入 m 函数, 结果如下

技术图片

对数据经过层层加密处理后,调用toString方法, 既然加密函数已经找到,我们就可以编写代码了

3. 代码实现

我们将函数 m 的代码复制出来, data是加密后返回的数据,我们先复制出来用一下,在这里因为我们使用了 crypto-js,所以我们要先进行安装一下

技术图片

运行一下项目

技术图片

报错的原因 , 其中 pf 没有进行初始化 我们寻找一下 p 和 f , 就在函数 m 的上方

技术图片我们添加到代码把 p 和 f 添加到代码中

技术图片

运行项目 进行测试

技术图片

其中返回的数据 , 正是我们想要的结果

以上就是今天的内容了,本文仅供学习交流使用,如有任何利益问题请联系笔者删除,祝大家学习愉快

以上是关于Python爬虫进阶 | 某监测平台数据加密逆向分析的主要内容,如果未能解决你的问题,请参考以下文章

JS 逆向百例webpack 改写实战,G 某游戏 RSA 加密

JS 逆向百例网洛者反爬练习平台第六题:JS 加密,环境模拟检测

Python爬虫eval混淆,爬虫进阶实战系列

「JS 逆向 AES逆向加密」Python爬虫实战,日子越来越有判头了

Python爬虫进阶 | X天下加密算法分析

JS 逆向 AES逆向加密Python爬虫实战,日子越来越有判头了