经过某种方法加密的目标网站:aHR0cHM6Ly91LmNhaXhpbi5jb20vdXNlci9sb2dpbi5odG1s
使用手机号登陆,并打开开发者工具进行抓包(尽量使用错误的密码或手机以方便后续打断点之后再次进行抓包):
某新网js解密

1、抓包分析

经过分析可知所抓取的包中第二个的请求参数中包含了加密的密码,说明这就是我们需要分析解密的,从第一个图可以看出,该包来源于图中黄框处的js文件,点进去。某新网js解密

2、探寻js加密密码的详细过程

点进去相应的js文件后在定位到的行打上断点,如图
某新网js解密
随后再次点击登录,以便于进入函数内部详细观察密码的加密过程,当在断点处停止后将目光移至右边的绿色框内,这个地方是到这个断点之前已经调用了的栈内存中的相关函数,调用的顺序是从下网上,即最下面的最先被调用,这个和栈的特性有关,不做过多叙述,接下来依次从上往下点进相关的函数内部,某新网js解密
在Ajax内部看到了有关data的部分信息,但发现此时的密码已经被加密了,说明我们还需要继续往前寻找,直到找到包含密码明文和加密密码的函数为止
某新网js解密
经过寻找发现,在loginSuccess内部同时观察到两者的存在,如下图,很明显,密码是经过了hex_md5进行了加密,于是点击进入其内部:
某新网js解密某新网js解密进入其内部后发现其实是多次调用了相关的函数对明文密码进行了加密,于是将所用到的函数全部复制放进一个js文件中(最好不要一个个找,将定位到的页面上的函数全部复制下来,再去python中调用,如果调用出错会有缺少相关参数的提示,出错后再回来去寻找需要的参数)
某新网js解密

3、python执行js文件验证是否寻找正确

相应的调用加密函数被存入一个后缀为js的文件中,使用PyExecJs模块来执行js文件,如下图:
某新网js解密对比可发现两个加密后的密码是一样的,说明所找到的加密调用的相关函数是正确的。

声明:

本文为本人学习高手的分析方法之后自行总结的,转载请注明出处,仅用于学习交流,如有相关违规,请联系本人删除。

相关文章:

  • 2021-11-17
  • 2022-12-23
  • 2021-11-19
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-22
  • 2021-09-21
  • 2021-10-20
  • 2021-06-23
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案