JS逆向:请求头参数AES加密,使用crypto-js

296 阅读2分钟

本文仅供学习交流使用,请勿用于商业用途或不正当行为

如果侵犯到贵公司的隐私或权益,请联系我立即删除

  1. 打开网址先找到数据接口,我们能看到是这个。因为他这个有limt和page我们就能大概确定了

image.png

2.打开接口发现响应值的data被加密,这个也就是我们需要的列表数据了

image.png

3.这个时候我们就要找这个解密方法了,不过data这个很普通,我们搜索一下就能有很多,显然我们不能这样搜索

image.png

4.这个时候我们就可以使用常见的对参数解密的方法尝试尝试JSON.parse()或者decrypt()。我们都可以去尝试, 这下搜索只能三个了,这个时候我们也可以都进去观看一下,进行断点,

image.png

5.确定是index这个点进去下断点,进行单步调试,这个时候我们看到有我们熟悉的类似和解密有关系的了,绿色箭头是关于请求的,红色的是关于响应的。因为我们是解密data,所以直接看红色的就行了

image.png

6.首先确定data就是返回的data

image.png

7.这个是解密后的数据,所以确定就是在这里了

image.png

8.JSON.parse我们知道,那我们就幺点进去看看这个decode方法是什么,发现走到上面了,我们来看看这里做了什么。 发现对url进行处理,然后又进去decrypt这个方法。我们继续跟进去

image.png

9.点进去发现很明显AES加密,那接下来就好说了,我们把代码抠出来,然后引入crypto-js

image.png

10.这个是扣下来的代码了

image.png

11.我们执行一下发现没有这个方法,那我们就继续扣

image.png

12.这个比较简单,找到了我们直接复制过来再进行代码执行。这个时候结果已经出来了

image.png

到这里我的分享就结束了,大家有不会的可以私聊我,如果哪里讲的不够详细,麻烦大家指导