首页 > 其他分享 >【JS逆向】某乐网登陆密码加密逆向分析探索!

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

时间:2024-01-07 12:33:25浏览次数:30  
标签:__ 逆向 加密 JS 代码 登陆密码 js password


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

网址:

aHR0cHMlM0EvL29hdXRoLmQuY24vYXV0aC9nb0xvZ2luLmh0bWw=

登陆密码加密特征:

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

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

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

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

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

3.搜索关键字 pwd

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

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

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

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

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

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

rsaPwd = rsa(passwordVal);

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

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

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

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

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

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

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

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

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

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

【JS逆向】某乐网登陆密码加密逆向分析探索!_公众号_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逆向】某乐网登陆密码加密逆向分析探索!_ecmascript_13

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

【JS逆向】某乐网登陆密码加密逆向分析探索!_javascript_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逆向】某乐网登陆密码加密逆向分析探索!_公众号_18

后台回复“乐网”

声明 

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

参考:

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

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

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

你好,我是二大爷,

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

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

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

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


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

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

关注我的都变秃了

说错了,都变强了!

不信你试试

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

扫码关注最新动态

公众号ID:eryeji

标签:__,逆向,加密,JS,代码,登陆密码,js,password
From: https://blog.51cto.com/u_15200177/9133845

相关文章

  • js和python的接口api怎么开发
    在JavaScript(JS)和Python之间开发接口(API)时,可以使用多种方法,具体取决于你的需求和偏好。以下是一些常见的方法:RESTfulAPI:RESTful(RepresentationalStateTransfer)是一种设计风格,通过HTTP协议进行通信。你可以使用Node.js(JavaScript)和Flask/Django(Python)等框架来实现RESTfulAPI。在......
  • Three.js——十三、自定义大小画布、UI交互按钮以及3D场景交互、渲染画布为文件(图片)
    画布全屏以及自定义大小画布<!--canvas元素默认是行内块元素--><divclass="model"style="background-color:#ff0000;"width="300"height="180"></div>画布随窗口变化//画布跟随窗口变化window.onresize=function(){constwidth......
  • js通过post请求实现导出功能
    项目开发中,有时候会碰到导出功能的开发,对于请求参数中有特殊符号的情况,可以通过encode转码或者post请求的方式来解决,这里写一个post方法实现的demo,大家可以根据自己的功能业务处理进行调整。//用于解析blob内容为json,针对导出报错响应json错误信息的情况constreader=newFileR......
  • 【入门】从零开始学习和了解ml5.js
    学习ml5.js可以分为几个主要步骤。下面是一个简要的指南,帮助你入门ml5.js:准备环境:首先,确保你有一个可用的开发环境,例如一个文本编辑器和一个现代的Web浏览器。你可以在本地搭建一个简单的Web服务器,也可以直接使用在线的代码编辑器。引入ml5.js:在你的HTML文件中引入ml5.js库。你可......
  • JSON中带多余反斜杠?原来是滥用FastJSON造成的!
    以前对接很多老系统的接口是发现对方返回的JSON往往有些不太对劲,例如{"key_1":"A","key_2":"{\"name\":\"Tom\"}"}由于以前我使用springBoot自带的Jackson,因此从未自己造成这种现象,然而最近在对接一个接口时,我自己使用FastJSON时恰巧就复制了一模一样的bug:我当时就......
  • Three.js——十二、MeshPhysicalMaterial清漆层、粗糙度、物理材质透光率以及折射率(结
    环境贴图作用测试MeshPhysicalMaterial清漆层MeshPhysicalMaterial和MeshStandarMaterial都是拥有金属度metalness、粗糙度roughness属性的PBR材质,MeshPhysicalMaterial是MeshStandarMaterial的子集,除了继承了他的这些属性以外,还新增了清漆、透光率、反射率、光泽、折射率等等清漆......
  • Servlet(JSP)学习笔记
    目录IDEA配置JSP基本语法page指令ScriptLet标签注释包含跳转JSP四大作用域applicationsessionrequestpageJSP九大内置对象responseoutpageContextconfigexceptionJavaBean组件JavaBean组件引入创建JavaBean设置属性值获取属性值JavaBean的保存范围JavaBean的删除ServletHelloWorld......
  • 2024年小红书最新x-s-common签名算法分析以及点赞api接口测试nodejs(2024-01-05)
      2024年小红书又更新了x-s-common算法,现在的版本是:3.6.8。这个签名算法现在是越来越重要了,许多接口都要用到。比如:评论,点赞等接口,没有这个算法采集不到数据。  一、chrome逆向x-s-common算法  1、x-s-common  打开chrome,按f12,打开开发者模式,随便找一接口,全局......
  • eslintrc.js配置文件详解
    转自:https://www.jianshu.com/p/fe727ad2bbf4通俗说就是统一代码规范。配置参数rules:{"规则名":[规则值,规则配置]}规则值"off"或者0//关闭规则关闭"warn"或者1//在打开的规则作为警告(不影响退出代码)"error"或者2//把规则作为一个错误(退出代码触......
  • Node.js 读取文件技巧与案例分享
    在面向服务器端JavaScript环境 Node.js 的开发中,处理文件读取至关重要,它是实现文件内容访问、分析和操作的关键步骤。这一功能对开发网络服务、日志审查系统、数据加工程序等多种软件非常有用。有了Node.js强大的文件处理能力,您可以毫不费力地读入文本、JSON、XML等文件类型......