Python爬虫进阶必备 | 极X助手加密算法分析

640?wx_fmt=png

极X助手

aHR0cHM6Ly93d3cuamlkYWlob21lLmNvbS9vZmZpY2VyLyMvbG9naW4=

先抓包看看这次要分析的参数。【图1-1】

640?wx_fmt=png
图1-1

看到【图1-1】里是没有加密参数名的。所以为了快速定位到加密的位置,我们试试 XHR 断点。

切换到 控制台 -  Source 选项卡 ,如【图1-2】位置填入下面的内容。

640?wx_fmt=png
图1-2

接着我们再发起一次请求,可以看到断点打上了。【图1-3】

640?wx_fmt=png
图1-3

我们点击左下角的{}格式化 JS 看看断点断上的位置有没有我们需要的内容。【图1-4】

640?wx_fmt=png
图1-4

我们可以看到这里函数 y传入一个参数tt中包含我们需要的提交数据【图1-5】。但是在这个断点位置并不能找到参数加密的地方,所以我们需要点击右侧的堆栈往上看看。

640?wx_fmt=png
图1-5

我们通过查看堆栈信息,找到了这里【图1-6】。发现在这里出现了 params相关的的操作,所以这里的可能包含的就是我们需要的加密位置,我们根据提示进去看看这里的加密逻辑是什么样的。

640?wx_fmt=png
图1-6

可以看到这里把经过处理的密码和用户名传入后,再次做了另一次加密处理后得到了变量i

var r = t.randomKey(16), i = t.aesEncrypt(JSON.stringify(e), r);
640?wx_fmt=png
图1-7

我们分别把变量i需要的参数分别跟进去看看生成规则。【图1-8】是变量r的生成规则是一串随机的字符串。

640?wx_fmt=png
图1-8

接下来是加密变量i的加密方法【图1-9】。

640?wx_fmt=png
图1-9

接下来只需要把这些参数的方法复制到编辑器中进一步的补全就可以了。

Tip: 这里的参数e是我们传入的用户名和密码,在【图1-6】的 54-55 行中传入,且密码经过了一层MD5的加密。

这里很多朋友纠结于类似 i.enc.Utf8.parse 这里的i如何补全,其实这里的i 就是我们常用的CryptoJS,只要引入后,直接替换就可以了,不用扣取整个JS。

640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值