12306登录password参数加密逻辑

418 阅读1分钟

网站链接

aHR0cHM6Ly9reWZ3LjEyMzA2LmNuL290bi9yZXNvdXJjZXMvbG9naW4uaHRtbA==

(base64解密后可见)

网站分析

登录的表单可以看到,密码是加密的。

ps:至于上面的sessionId和sig都是阿里ffff滑块返回的,这里只分析password的加密

首先全局搜索关键词password,在可疑的位置打上断点,最终定位在这里

这个encrypt_ecb()函数应该就是加密函数,传的两个参数如下,一个是密码的明文,一个是固定值

进到函数内,根据这么详细的注释,基本可以断定,这里就是加密的逻辑了

如果喜欢,欢迎大佬们关注我的公众号,一起进步

js分析

把js全部复制下来放在本地,调用下,会报base64js is not defined。

这个其实就是一个base64的js文件,网站有这个js,直接也拿下来,在加密js上方导入这个js就可以了

再执行就可以得到结果了

和上面网站抓包出来的加密结果一致,只不过需要手动拼上一个@

小结

从过程上来讲,还是蛮简单的,没有环境监测,不需要补环境,也没有混淆,甚至注释都相当清晰。像这么热门又“良心”的网站,不多了