1.首先打开调试工具,随意输入错误的账号密码,查看请求的登录接口,仅有pwd这个参数进行了加密,除了uid是账号外,其他的2个参数就是固定的。
2.打开全局搜索,pwd关键字,可见到关键加密的地方,点击去。
3.局部搜索关键字pwd,会发现有两处地方对pwd进行了加密处理,回到登录页面可以看到,有两种登录方式,两次加密,所以不确定是哪个,就都打上断点
4.再次点击登录按钮,会发现程序停在了该断点处,说明断点的位置正确!
5.将该方法放入调试工具,并进行改写!首先缺失key_to_encode这个关键参数!
5.全局搜索key_to_encode这个关键参数,发现这个参数显然是RSA加密算法的公钥,点击进入该位置,将该脚本复制到调试工具
6.加载执行发现缺失该函数定义,再全局搜索该方法
7.搜索发现该js文件中包含了encryptedString、setMaxDigits等方法,同时该js文件叫做RSA,一般里面的方法都会用到,本着可以多不能少的原则,直接全部复制到调试代码中
8.代码可以成功加载了
8.代码执行getPwd函数发现,that未定义,这个应该就是传入的密码,于是再对代码进行改写,可以得到加密后的密码了
9.使用python代码进行模拟登录,成功登录