爬虫之js逆向:五矿集团里面的params加密参数,这个案例很值得学习,因为 js代码嵌套了很多层的异步,所以我推荐如果想练习非对称加密的小伙可以试试,提示:本案例仅供学习和参考,禁止商用

1,先分析,看需要逆向的参数有哪些

触发请求后有两个包

点进这个public这个包可以看到在响应数据里面有一串密文,但是这可不是加密的数据哈,这个其实是RSA加密所需的私钥,数据在下面的包里面,所以py需要发送两次请求,第一次是获取这个私钥,第二次是根据这个私钥给第二个包发送请求,因为这个私钥是后端发过来的所以每次请求都会变化

打开第二个包后可以看到明文数据在这里

通过分析可以得知,载荷里面的params是需要逆向的,而其他地方都不需要

2,hook定位:用hook-stringfy

3,跟栈,因为跟栈的步骤比较繁琐,所以这里直接给结论了,跟到如图所示的位置以后就已经定位到了,这里有一个setPublicKey这种对于我们爬虫玩家来说比较敏感的字眼就可以打上断点来验证

4,接下来就是扣核心代码

5,通过不断的扣代码加导入标准库以及必要的改写,最终拿下

6,这里我有一个要强调的点,这个点对于熟悉使用Jsencrypt库的来说应该都知道,

就是这个里面的this.getKey()的this可以改成

,而这个rsa是通过实例化Jsencrypt的对象

7,接下来通过xhr断点试试

8,触发请求后,可以看到send的名称,这个params的加密参数也可以看到

9,我们跟栈,直接跟异步之前的一个栈

10,跟到这后打上断点触发请求

11,鼠标悬停后,进到函数里面去

12,进去后 

13,再从A[a]这个函数进去后

14,给——invoke打上断点触发请求后,我们又需要进到invoke里面去,然后我们需要给return后的语句打上断点,就是这个value,

15,然后就按这个思路一直跟下去,最终也是能定位到跟hook一样的效果,我这里就不再继续跟了,感兴趣的小伙伴们可以试试xhr断点,很考验人的读代码能力的,哈哈

求个赞,给赞的兄弟们是支持我的最大动力


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值