声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如果侵权到了您的权益,请立即联系我删除!
目标网站:aHR0cHM6Ly9iai5mYW5nLmNvbS8=
本次逆向的目标为登录时的加密参数pwd
,如下所示。
全局搜索pwd:
,发现2个比较可疑的位置:
点进文件对应位置下断点,再重新登录一次,在这里断住了。
that.password.val()
就是我们输入的密码明文,那key_to_encode
是什么呢?
显然,key_to_encode
是RSA
密钥,但在当前文件并没有搜到,全局搜索一下试试。
在这里找到了定义key_to_encode
的位置,在这之前还进行了个setMaxDigits(129)
操作,现在还不知道它的作用是什么,先点进去看一下。
setMaxDigits
只是进行一些定义操作,把这段代码复制到本地运行,然后会报错,根据报错提示补上对应的变量或者方法就行了。
解决了setMaxDigits
的问题,然后再把定义key_to_encode
的方法RSAKeyPair
扣下来,运行得到的结果如下:
到此我们就拿到了RSA
的密钥,再将encryptedString
方法扣下来,就能实现pwd
参数的加密方法。
最后用python
模拟登陆试试。
返回Success
,说明参数加密是对的。
需要注意的是,每次加密的结果都是不一样的,如果加密完的值不变,说明扣错了。
另外登录得用实际的账号密码去登录,不然无法验证参数加密是否是正确的。