JS逆向解密凡科网密码

        在登录凡科网时通过抓包分析发现其密码是进行了js加密处理的,很好奇他是怎么加密的,然后就尝试着对其加密方式进行分析,现将分析思路和大家分享一下,希望对大家能有个参考作用。

 

         首先使用谷歌开发者工具中的search进行搜索,然后输入搜索的关键字pwd并点击回车,可以看到匹配到的pwd相关的数据,接着进一步进行分析,在这里我们需要进行一个猜测,因为这么多数据我们并不知道具体是哪一个,我们只能选择一个可能性比较大的点击进去。

        链接点击进去之后,我们看到的是一堆代码,此时我们再进行搜索,再次输入“pwd=“”这个关键字,可以看到此时匹配出了一个比较相似的数据,此时我们对它打一个断点,并按F11进入该函数内部。

 

        进入该函数内部后,我们发现这个js加密是闭包的,这时候我么把函数的全部代码复制出来,使用js工具进行调试。 

 

         此时可以看出,我们输入测试数据12345,通过该方法成功进行了加密并输出加密结果。

         接下来我们将该调试代码保存下来,然后用python来实现。这里首先要安装execjs,这里直接使用pip install PyExecJS安装即可,安装之后就可以使用了,代码如下:

import execjs

'''
url:https://i.fkw.com/
注意:如果需要逆向的js函数的实现是出现在一个闭包中,那么直接将闭包的整个代码块
拷贝出来进行调试即可
'''

node = execjs.get()
ctx = node.compile(open('./凡科网逆向之闭包技巧.js',encoding='utf-8').read())
funcName = 'md5("{0}")'.format('123456')
pwd = ctx.eval(funcName)
print(pwd)

      通过以上代码我们就将js加密后的密码打印出来了,接下来就可以使用加密的密码进行模拟登录的相关其他操作了。

         js加密是一个十分复杂的过程,对其进行分析的话没有什么好的办法,就是多去试,发现可以的数据就拿出来然后进行调试,直至找到正确的数据。

おすすめ

転載: blog.csdn.net/sl01224318/article/details/119060000