网站如下:http://www.airchina.com.cn/www/jsp/userManager/login.jsp 下面是登录的抓包:
很明显 userName 和 password 这两个参数被加密了。
全局搜索参数 userType 或者 upassword。因为 JS 代码一般是根据输入框的 id 标签取相应的值,然后做加密!
id标签
搜索结果如下:
结果
猜测应该是 RSA 加密!
在加密的位置打上断点,重新发请求:
其中 RSAUtils 是一个对象,encryptedString 是该对象中的函数,所以我们先将这个对象的定义找出来。
点击该函数进入,可以发现 RSAUtils 的定义及其相应的函数都在这个 JS 文件中,直接一把梭,将该文件中的 JS 代码全部复制下来吧:
注意在将 userName 和 password 加密之前执行了 bodyRSA() 函数.
所以也将bodyRSA 函数对应的的 JS 代码复制下来。最终本地 JS 文件内容如下:
最后,自己写个 JS 函数,执行一下,并和抓包的数据进行对比验证结果:
password 加密结果一致!这个破解比较简单,适合给入门的朋友用来练手。
可以看到在流程当中比较重要的地方就是: 1.找规律,寻找这些数据的加密规则 2.调试 JS,使用浏览器或者在本地进行调试 3.模拟数据,将这些数据通过代码模拟生成,然后加入到数据当中