某权益逆向
代码仅供学习与交流 不可用于其他途径static/image/hrline/1.gif
txt后缀改成js,有兴趣的来玩玩
我也不知道这是干啥的,闲着没事顺手帮忙弄下
看不懂呀,... 看不懂 主要目的:
模拟登录过程:自动化测试或爬取"视权益"平台(shiquanyi.cn)的登录接口
实现加密传输:满足该平台对登录数据的双重加密要求:
敏感数据用AES加密
AES密钥用RSA加密传输
安全机制:每次请求生成随机AES密钥,防止重放攻击
使用场景推测:
自动化测试登录功能
第三方应用集成登录
爬虫程序绕过前端加密
安全研究人员分析加密流程
注意:实际使用时需要确认平台合法性,此类脚本可能违反某些网站的使用条款。测试手机号/密码为示例数据,真实环境需替换有效凭证。 这个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),
}; 总结:没啥用 没卵用,注册的手机也这样提示{"code":0,"msg":"此手机号尚未注册","time":"1751183744","data":""}
页:
[1]