某网站的登陆密码加密逆向分析探索,其密码很明显采用了RSA 加密,加密特征比较明显,按照步骤一步步即可找到并扣取下来,适合新人JS逆向练手学习使用!
网址:
aHR0cHMlM0EvL3Bhc3Nwb3J0LmZhbmcuY29tLw==
特征:
#123456
pwd:
00fe1ac66f2a7a4c5e2c7d665980b6a3a75f1c484f2e9438eefb2839529a0d4ed2c34c71cd7d9764cf78fc7d02b57b583c6e03bd0226f18bca23feeffcc0e1d9bd882e7e755a4e61e3529050cc908273bac3b7e6e3643d43aace077b758cb53042012cbf27be941346d77d26cdc797d0485ca1218504791353c1b0fbd11aff70
2.登陆测试
3.获得加密特征,pwd
4.老规矩,搜索关键字 pwd
5.找到最可疑的加密位置
6.打开至面板,打上断点调试
如果有多个位置,不妨多打几个断点进行断点调试,这里明显有两处地方
7.重新登陆调试
8.继续刷新调试
关键生成代码:
data: {
uid: that.username.val(),
pwd: encryptedString(key_to_encode, that.password.val()),
Service: that.service.val(),
AutoLogin: that.autoLogin.val()
},
9.console.log打印 关键验证
10.查看关键加密函数
11.格式化加密函数
12.关键参数 key_to_encode 的获取
参数在页面js里就能找到,可通过搜索关键字即可找寻到!
<script>
setMaxDigits(129);
var key_to_encode = new RSAKeyPair("010001", "", "978C0A92D2173439707498F0944AA476B1B62595877DD6FA87F6E2AC6DCB3D0BF0B82857439C99B5091192BC134889DFF60C562EC54EFBA4FF2F9D55ADBCCEA4A2FBA80CB398ED501280A007C83AF30C3D1A142D6133C63012B90AB26AC60C898FB66EDC3192C3EC4FF66925A64003B72496099F4F09A9FB72A2CF9E4D770C41");
</script>
13.RSAKeyPair 生成函数
14.整个 RSA.min.js 文件扣取,本地运行
附:这里踩的坑,key_to_encode 是加密生成,需要通过加密函数,而不是某个固定值,如果使用调试的固定值,运行函数会报错!
报错信息:
如果本地运行出错,一定是某个参数或者方法错误了,这导致了语法错误,本身js代码是正确的!
Python 调用js文件生成密码加密效果:
本文分享自 Python与SEO学习 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!