【JS逆向二】逆向解开某某教育网站的登录密码possword RSA加密参数

本文主要是介绍【JS逆向二】逆向解开某某教育网站的登录密码possword RSA加密参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

逆向日期:2024.02.06

使用工具:Node.js

加密方法:RSA标准库

文章全程已做去敏处理!!!  【需要做的可联系我】

可使用AES进行解密处理(直接解密即可):AES加解密工具

1、打开某某网站(请使用文章开头的AES在线工具解密):MJ9s9FZ2/sLDGq7EbriaLloZegcK1DJ96H7S/mpFF92p+krvp83CtS4dq8HsHDpT4h1gXkawbRtZDJ6KiOUdeQ==
2、账号随便11位即可,密码随便,人机验证输入一下,点击登录后可在控制台的网络面板进行查看

3、ctrl+shift+F全局搜索【poaaword】,经过我七七九百天终于找到了,他在这里被加密,每次加密的结果任然不一样,但我在加密代码里看到了RSA,有可能是使用了RSA加密方法

4、当晚看到encrypt的参数值,发现这四个键值,幺,这不就是RSA加密吗,1024位的加密,还有key,他这个key里有参数,说明他已经把key密钥添加进了RSA里

5、哎幺,这密钥就搁上面呢,翻一下就找到了,而且我还看到他这个好像是调用的标准库,哪我们也直接调用标准库

6、我们本地调用库需要先安装库,然后将源代码的key给复制粘贴到我们本地的代码里,然后运行一下,每次结果都不一样
【附上源代码】

npm install jsencrypt --save     安装库

window = global;
// 安装 jsencrypt 非对称加密包
// npm install jsencrypt  --save
// RSA非对称加密算法  可以加密任何字符串
// RSA为非对称加密算法,每次的加密结果都将不一样
const JSEncrypt = require('jsencrypt');
var encrypt = new JSEncrypt();
// 公钥
const publicKey = `
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDURMBwbg3EFHr7D0KtZV3f7SHf
Dp+M22VRys+HIHl/4mjGJivm5PbWLqlJnub/tZ+QUlO9IXjSXBWciGXhg8CRBd4S
vD9xLVvH6YrgpD1B3zar14bn8DV1WaimyWV1JwC5CMLUkC6qTkVGdbbpoaZvy/NT
kPkgp5AlLz7TZxoT8QIDAQAB
-----END PUBLIC KEY-----
`;
// RSA使用公钥进行加密
function encryptMessage(message, publicKey) {encrypt.setPublicKey(publicKey);var encrypted = encrypt.encrypt(message);return encrypted;
};// 加密需要加载公钥
console.log(encryptMessage('qweqweqweqweqwe',publicKey));

这篇关于【JS逆向二】逆向解开某某教育网站的登录密码possword RSA加密参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/683999

相关文章

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Spring Security重写AuthenticationManager实现账号密码登录或者手机号码登录

《SpringSecurity重写AuthenticationManager实现账号密码登录或者手机号码登录》本文主要介绍了SpringSecurity重写AuthenticationManage... 目录一、创建自定义认证提供者CustomAuthenticationProvider二、创建认证业务Us

Springboot项目登录校验功能实现

《Springboot项目登录校验功能实现》本文介绍了Web登录校验的重要性,对比了Cookie、Session和JWT三种会话技术,分析其优缺点,并讲解了过滤器与拦截器的统一拦截方案,推荐使用JWT... 目录引言一、登录校验的基本概念二、HTTP协议的无状态性三、会话跟android踪技术1. Cook