nicexi 发表于 2025-6-14 02:39:49

某权益逆向

代码仅供学习与交流 不可用于其他途径
static/image/hrline/1.gif
txt后缀改成js,有兴趣的来玩玩

我也不知道这是干啥的,闲着没事顺手帮忙弄下

nwaobas 发表于 2025-6-14 05:31:40

看不懂呀,...

fkgww 发表于 2025-6-14 09:44:46

看不懂

hqs 发表于 2025-6-14 11:04:26

主要目的:
模拟登录过程:自动化测试或爬取"视权益"平台(shiquanyi.cn)的登录接口

实现加密传输:满足该平台对登录数据的双重加密要求:

敏感数据用AES加密

AES密钥用RSA加密传输

安全机制:每次请求生成随机AES密钥,防止重放攻击

使用场景推测:
自动化测试登录功能

第三方应用集成登录

爬虫程序绕过前端加密

安全研究人员分析加密流程

注意:实际使用时需要确认平台合法性,此类脚本可能违反某些网站的使用条款。测试手机号/密码为示例数据,真实环境需替换有效凭证。

hqs 发表于 2025-6-14 11:06:25

这个JavaScript脚本是一个实现加密登录请求的自动化工具,主要完成以下功能:

核心功能解析:
数据加密流程:

生成16位随机AES密钥(字母数字组合)

使用AES-ECB模式加密登录数据(包含手机号/密码)

用RSA公钥加密AES密钥

返回结构:{ value: AES加密数据, key: RSA加密后的AES密钥 }

加密细节:

javascript
// 生成安全的随机字符串(避免模偏置)
function generateRandomAlphanumericString(length){...}

// RSA加密AES密钥
function rsaEncryptAesKey(aesKeyString){
const encryptInstance = new JSEncrypt();
encryptInstance.setPublicKey(RSA_PUBLIC_KEY);
return encryptInstance.encrypt(JSON.stringify(aesKeyString));
}

// AES加密数据
const encryptedPayload = CryptoJS.AES.encrypt(dataToEncrypt, aesKeyWordArray, {
mode: CryptoJS.mode.ECB,// ECB模式
padding: CryptoJS.pad.Pkcs7
}).toString();
登录请求数据:

javascript
const dataToProcess = {
"phone": "13322223333",// 测试手机号
"password": "111111",    // 测试密码
"code": "",            // 验证码(空)
"leixing": 0,            // 登录类型
"openkey": ""            // 第三方密钥(空)
};
网络请求:

目标URL:https://api.shiquanyi.cn/recovery/account/loginForCode

使用Fetch API发送POST请求

Headers设置JSON内容类型

javascript
const requestOptions = {
method: "POST",
headers: myHeaders,// 包含Content-Type: application/json
body: JSON.stringify(encryptedOutput),
};

hqs 发表于 2025-6-14 11:07:43

总结:没啥用

Dan3577 发表于 2025-6-29 15:56:43

没卵用,注册的手机也这样提示{"code":0,"msg":"此手机号尚未注册","time":"1751183744","data":""}
页: [1]
查看完整版本: 某权益逆向