0
点赞
收藏
分享

微信扫一扫

【JS逆向】某乐网登陆密码加密逆向分析探索!


一个网站的登陆密码加密逆向解密分析,没有混淆,加密代码还是比较好找的,只需要多花点耐心,多尝试,就能找到关键的加密代码片段。

网址:

aHR0cHMlM0EvL29hdXRoLmQuY24vYXV0aC9nb0xvZ2luLmh0bWw=

登陆密码加密特征:

b2927281520eba726728c6f5e9579228a3102f1462c52d708ba8ee622b2124a97545d0e3a6d0315bd84e457e7550ab2357e3c019fe23bf4a57ab2ead172d2e9ce8ae1e167d54a4530a200ba9be5b2fbe08b7cbfe07f914c3c09ccfa37488cc531f9452f625e0195ab41ec88546378ae304f5f774aa2de8891446ff77aae799d8

  1. 打开网站,用示例用户信息(密码:123456)

【JS逆向】某乐网登陆密码加密逆向分析探索!_ecmascript

2.浏览器抓包,登陆,测试

【JS逆向】某乐网登陆密码加密逆向分析探索!_公众号_02

【JS逆向】某乐网登陆密码加密逆向分析探索!_ecmascript_03

3.搜索关键字 pwd

【JS逆向】某乐网登陆密码加密逆向分析探索!_前端_04

4.分析搜索结果,查找最可疑,最关键或者说最像是加密的代码片段

【JS逆向】某乐网登陆密码加密逆向分析探索!_ecmascript_05

5.在文件里继续搜索关键字,找到关键位置

【JS逆向】某乐网登陆密码加密逆向分析探索!_前端_06

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

rsaPwd = rsa(passwordVal);

【JS逆向】某乐网登陆密码加密逆向分析探索!_ecmascript_07

7.重新输入账号信息登陆调试

【JS逆向】某乐网登陆密码加密逆向分析探索!_ecmascript_08

8.点击下一步,密码已经出来了,断点没错

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

9.可打印输出密码,可验证与加密密码一致

【JS逆向】某乐网登陆密码加密逆向分析探索!_javascript_10

10.点进去rsa加密函数查看

【JS逆向】某乐网登陆密码加密逆向分析探索!_开发语言_11

11.进入后可看到加密关键部分代码

【JS逆向】某乐网登陆密码加密逆向分析探索!_javascript_12

//密码加密
  var rsa = function (arg) {
      setMaxDigits(130);
      var PublicExponent = "10001";
      var modulus = "be44aec4d73408f6b60e6fe9e3dc55d0e1dc53a1e171e071b547e2e8e0b7da01c56e8c9bcf0521568eb111adccef4e40124b76e33e7ad75607c227af8f8e0b759c30ef283be8ab17a84b19a051df5f94c07e6e7be5f77866376322aac944f45f3ab532bb6efc70c1efa524d821d16cafb580c5a901f0defddea3692a4e68e6cd";
      var key = new RSAKeyPair(PublicExponent, "", modulus);
      return encryptedString(key, arg);
  };

12.查缺补漏,把加密函数中的参数或者函数补齐,也就是抠代码,包括 setMaxDigits 函数、RSAKeyPair 函数、以及 encryptedString 函数

【JS逆向】某乐网登陆密码加密逆向分析探索!_javascript_13

【JS逆向】某乐网登陆密码加密逆向分析探索!_ecmascript_14

【JS逆向】某乐网登陆密码加密逆向分析探索!_ecmascript_15

13.这里采用了笨方法,整个js文件几乎都扣出来了

14.补齐后,运行效果

【JS逆向】某乐网登陆密码加密逆向分析探索!_公众号_16

附 python 调用js文件代码:

#公众号:eryeji
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import execjs


def get_encrypted_password(password):
    with open('demo.js', 'r', encoding='utf-8') as f:
        oauth_js = f.read()
    encrypted_password = execjs.compile(oauth_js).call('ss', password)
    return encrypted_password


if __name__=="__main__":
    password="123456"
    print(get_encrypted_password(password))

【JS逆向】某乐网登陆密码加密逆向分析探索!_前端_17

完整代码获取 

【JS逆向】某乐网登陆密码加密逆向分析探索!_ecmascript_18

后台回复“乐网”

声明 

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

参考:

【JS 逆向百例】当乐网登录接口参数逆向-K哥爬虫

https://mp.weixin.qq.com/s/1eXvxbZklEtwrkUn4iEmtQ

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

你好,我是二大爷,

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

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

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

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


【JS逆向】某乐网登陆密码加密逆向分析探索!_javascript_19

【JS逆向】某乐网登陆密码加密逆向分析探索!_开发语言_20

关注我的都变秃了

说错了,都变强了!

不信你试试

【JS逆向】某乐网登陆密码加密逆向分析探索!_公众号_21

扫码关注最新动态

公众号ID:eryeji

举报

相关推荐

0 条评论