好久没写逆向了,之前讲过execjs这个库可以在python中运行js代码,这将极大的帮助我们解决逆向问题,找到加密位置不会重写怎么办、js代码太复杂怎么办,用execjs秒杀它。如果对你有帮助可以给我点个赞呗^_^。
目标网站
aHR0cHM6Ly9wYXNzcG9ydC5mYW5nLmNvbS8/YmFja3VybD1odHRwcyUzQSUyRiUyRmd6LmZhbmcuY29tJTJG
目录:
1、环境
2、分析网站
3、如何扣js代码
4、实现爬取
1、环境
Python3.7、execjs、requests
2、分析网站
通过输入错误密码进行抓包
pwd这个参数就是我们需要解决的
直接检索pwd:只有一个结果
这看就知道是这里负责登录的加密(做多了逆向你一看到encrypt这个单词就知道离目标不远了)在这打上断点,重新请求一次,查看参数都是什么。
打开Console面板输入参数就可以知道参数的内容
# that.password.val() 密码
检索key_to_encode
一看到RSA我就知道是这里了,刚好三个参数
3、如何扣js代码
既然加密的位置都找到了就直接扣代码吧,鼠标移到encryptedString上就可以跳到encryptedString方法所在的位置
直接复制到编辑器中运行
运行肯定会报错的,没关系报错缺什么找什么就好了
缺RSAKeyPair
复制到编辑器继续运行直到没有报错为止
这个网站的开发人员很贴心把加密所相关的所有方法都放到了一个文件下,从文件名大概就可以看出来,把这个文件的所有代码复制到编辑器运行,直接得出了结果。