一、确定爬取目标
本日受害者网站: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)
- a = d.a.AES.decrypt(n, f, {
- iv: m,
- mode: d.a.mode.CBC,
- padding: d.a.pad.Pkcs7
- }
复制代码 往上观察发现密钥和iv都是直接静态给出了
但是我们在使用之前需要验证一下值是否正确
结果发现密钥的值竟然和js代码当中给的不划一!
我们往下翻,原来是在执行解密之前key的值被重新修改了.......
看来还是得小心点留个心眼啊 |