分享另一个破解JS登录的案例,源码地址https://github.com/GoJerry/airChinaJsCrack
抓包
网站如下:http://www.airchina.com.cn/www/jsp/userManager/login.jsp
下面是登录的抓包:
明显 userName 和 password 这两个参数被加密了。
全局搜索参数 userType 或者 upassword。因为一般是根据输入框的 id 标签取值,然后做加密!
id标签
搜索结果如下:
结果
猜测应该是 RSA 加密
分析
在加密的位置打上断点,重发请求:
其中 RSAUtils 是一个对象,encryptedString 是该对象中的函数,所以我们先将这个对象的定义找出来。
点击该函数进入,可以发现 RSAUtils 的定义及其相应的函数都在这个 JS 文件中,全部复制下来吧:
注意在将 userName 和 password 加密之前执行了 bodyRSA() 函数,所以也将相应的 JS 代码复制下来
最终 JS 文件内容如下:
最后,自己写个 JS 函数,执行一下,并和抓包的数据进行对比验证结果
password 加密结果一致!这个破解比较简单,适合给入门的朋友用来练手。来帮忙点个好看吧~~
总结
JS 逆向需要耐心调试,同时要理清思路,调试过程中发现的加密过程要记录下来,以免后续再发费时间寻找。同时需要大胆的去假设,多尝试。
`