某网站的登陆密码加密逆向分析探索,其密码很明显采用了RSA 加密,加密特征比较明显,按照步骤一步步即可找到并扣取下来,适合新人JS逆向练手学习使用!

网址:

aHR0cHMlM0EvL3Bhc3Nwb3J0LmZhbmcuY29tLw==

特征:

【JS逆向】某天下登陆密码加密逆向分析探索!_断点调试

#123456
pwd: 
00fe1ac66f2a7a4c5e2c7d665980b6a3a75f1c484f2e9438eefb2839529a0d4ed2c34c71cd7d9764cf78fc7d02b57b583c6e03bd0226f18bca23feeffcc0e1d9bd882e7e755a4e61e3529050cc908273bac3b7e6e3643d43aace077b758cb53042012cbf27be941346d77d26cdc797d0485ca1218504791353c1b0fbd11aff70
  1. 打开网站,使用错误的账号登陆。密码:123456

【JS逆向】某天下登陆密码加密逆向分析探索!_搜索_02

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_03

2.登陆测试

【JS逆向】某天下登陆密码加密逆向分析探索!_断点调试_04

3.获得加密特征,pwd

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_05

4.老规矩,搜索关键字 pwd

【JS逆向】某天下登陆密码加密逆向分析探索!_搜索_06

5.找到最可疑的加密位置

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_07

6.打开至面板,打上断点调试

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_08

如果有多个位置,不妨多打几个断点进行断点调试,这里明显有两处地方

7.重新登陆调试

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_09

8.继续刷新调试

【JS逆向】某天下登陆密码加密逆向分析探索!_搜索_10

关键生成代码:

data: {
    uid: that.username.val(),
    pwd: encryptedString(key_to_encode, that.password.val()),
    Service: that.service.val(),
    AutoLogin: that.autoLogin.val()
},

9.console.log打印 关键验证

【JS逆向】某天下登陆密码加密逆向分析探索!_搜索_11

10.查看关键加密函数

【JS逆向】某天下登陆密码加密逆向分析探索!_断点调试_12

11.格式化加密函数

【JS逆向】某天下登陆密码加密逆向分析探索!_搜索_13

12.关键参数 key_to_encode 的获取

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_14

参数在页面js里就能找到,可通过搜索关键字即可找寻到!

<script>
        setMaxDigits(129);
        var key_to_encode = new RSAKeyPair("010001", "", "978C0A92D2173439707498F0944AA476B1B62595877DD6FA87F6E2AC6DCB3D0BF0B82857439C99B5091192BC134889DFF60C562EC54EFBA4FF2F9D55ADBCCEA4A2FBA80CB398ED501280A007C83AF30C3D1A142D6133C63012B90AB26AC60C898FB66EDC3192C3EC4FF66925A64003B72496099F4F09A9FB72A2CF9E4D770C41");
    </script>

13.RSAKeyPair 生成函数

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_15

14.整个 RSA.min.js 文件扣取,本地运行

【JS逆向】某天下登陆密码加密逆向分析探索!_搜索_16

附:这里踩的坑,key_to_encode 是加密生成,需要通过加密函数,而不是某个固定值,如果使用调试的固定值,运行函数会报错!

报错信息:

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_17

【JS逆向】某天下登陆密码加密逆向分析探索!_搜索_18

如果本地运行出错,一定是某个参数或者方法错误了,这导致了语法错误,本身js代码是正确的!

Python 调用js文件生成密码加密效果:

【JS逆向】某天下登陆密码加密逆向分析探索!_断点调试_19

完整代码获取 

请关注本渣渣公众号

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_20

后台回复“某天下”

声明 

本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系立即删除!

参考来源:

【JS 逆向百例】房天下登录接口参数逆向-K哥爬虫

https://mp.weixin.qq.com/s/yQMlvddLHi_lSQAuK05HyA

ython爬虫进阶必备 | X天下与XX二手房密码加密分析-咸鱼学Python

https://mp.weixin.qq.com/s/R_9W2TKcMzKK46nOHystQw

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号不挣钱,交个网友。


【JS逆向】某天下登陆密码加密逆向分析探索!_断点调试_21

【JS逆向】某天下登陆密码加密逆向分析探索!_搜索_22

关注我的都变秃了

说错了,都变强了!

不信你试试

【JS逆向】某天下登陆密码加密逆向分析探索!_公众号_23

扫码关注最新动态

公众号ID:eryeji