当前位置:   article > 正文

js逆向——返回加密数据的处理_js逆向-将接口返回的加密数据进行解密

js逆向-将接口返回的加密数据进行解密

一、确定爬取目标

今日受害者网站:https://jzsc.mohurd.gov.cn/data/company

我们的目标是爬取该网站列表页当中的企业信息

二、数据抓包分析

首先刷新网页进行抓包,观察一下数据在哪个数据包当中被返回(获取返回数据)

结果发现返回的都是一串看不懂的密文

搜索数据包中的文字也没有找到任何信息

​ 

这说明我们收到的响应数据是加密后的结果,返回客户端之后由客户端解密拿到明文字符串展示在前端当中,所以我们才能在网页看到有效的信息

因此现在就需要对返回的响应数据进行解密(decrypt)

三、js逆向分析

我们直接搜索decrypt,在所有可疑的位置打上断点

注意:像css/axios//jquery/react这种可以直接pass;但是app/chunk不能pass

另外一个js文件也不能放过

​ 

然后我们重新刷新网页,来再次发送请求

这样就定位到了解密的关键位置,不难发现是使用AES-CBC模式进行的加密解密

此外还有2处断点是具体的加密细节,可以直接忽略(取消断点)

​ 

既然是AEC-CBC进行加密解密

那么我们就重点关注3个参数:密文(n),密钥(f),iv(m)

  1. a = d.a.AES.decrypt(n, f, {
  2. iv: m,
  3. mode: d.a.mode.CBC,
  4. padding: d.a.pad.Pkcs7
  5. }

往上观察发现密钥和iv都是直接静态给出了

​ 

但是我们在使用之前需要验证一下值是否正确

结果发现密钥的值竟然和js代码当中给的不一致!

​ 

我们往下翻,原来是在执行解密之前key的值被重新修改了.......

看来还是得小心点留个心眼啊

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/1015854
推荐阅读
相关标签