通过前面的文章, 我们只会了点Android的逆向,那么今天,
就来进行JS逆向
首先打开登录:https://passport.qidian.com/
正常的进行登录
发现,password这个可疑参数,就是我们的密码,进行了加密
我们进行ctr+shit+F进行查询
参数特别多,我们一个个进行过滤
然后发现了这里,通过获取表单密码值,然后把密码传到rsa_encryption(password)这个函数,我们打上断点进行调试
- <div style="text-align: left;">function rsa_encryption(password) {</div><div style="text-align: left;">var rsa = new RSAKey();</div><div style="text-align: left;">rsa.setPublic(LoginV1.config.modulus, LoginV1.config.exponent); // 生成公钥</div><div style="text-align: left;">var encrypt_password = rsa.encrypt(password); // 加密数据</div><div style="text-align: left;">if (encrypt_password.length > 50) {</div><div style="text-align: left;">return encrypt_password ;</div><div style="text-align: left;">}else{</div><div style="text-align: left;">return password ;</div><div style="text-align: left;">}</div><div style="text-align: left;">}</div>
复制代码
发现这里是RSA加密,需要公钥
先new RSAKey()得到这个对象
主要是这下面两个参数
LoginV1.config.modulus
LoginV1.config.exponent
得到是固定值
modulus="CC11740869A1B1BB93F18A872196C5F5AA0FDB48D4D60C70938E99C95AE83F02A67EF4D2E2ADAE09BAB169ED1E1AE50A31170163B36B9C742843A72BC30CD3D42D51033CFA2A3BD6CF1A9C331A0D6054AB3DEF984B6C4B5B28F26E57A300FE6A49BDFF1111299F9784177F8DFFE25B2AED2EC68B0467E98319CD94B54E8F895F"
exponent="10001"
然后rsa.encrypt(password);进行加密得到 password,也就是我们的加密值
最后把代码都复制,丢到我们的编辑器里,进行执行
OK,大功告成~
得到的正是我们期盼的加密结果。
好了,这次讲的很短,其实也没什么好讲的,主要的是思路,
只要思路缕清了,接下来一步步走就行
工欲善其事必先利其器
QQ 技术交流:946091882;(接单)
|