害 现在随便挖个洞都需要js逆向
page来控制不同页码
const CryptoJS = require("crypto-js");
function d() {
const a = ["1", "2", "4", "5", "3", "8", "0", "7", "9", "6", "A", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "S", "D", "F", "G", "H", "J", "K", "L", "q", "w", "S", "e", "a", "s", "d", "z", "x", "c", "v", "f", "r", "t", "g", "b", "y", "h", "n", "m", "j", "u", "i", "o", "k", "l", "p"];
let e = "";
for (let n = 0; n < 16; n++) {
e += a[Math.floor(Math.random() * a.length)];
}
return e;
}
const u = d();
const c = '{"acc_id":78,"page":1,"class":2,"sort":"4","appid":"wx41cd4f32cf8164b3","ver":"7.0.0","min_push":0,"scene":1001}';
function t(c, u) {
const r = "WAG0JIUGYALACVJF"; // 密钥
const key = CryptoJS.enc.Utf8.parse(r);
const iv = CryptoJS.enc.Utf8.parse(u); // 应该保证 u 是 16 字节
return CryptoJS.AES.encrypt(c, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
}).toString();
}
const requestData = t(c, u);
function get_header() {
console.log(requestData);
console.log(u);
}
get_header();
function jiemi(e, n = "XV9LXBQGYXPIZHA7") {
var r = "WAG0JIUGYALACVJF"; // 默认密钥
const key = CryptoJS.enc.Utf8.parse(r);
const iv = CryptoJS.enc.Utf8.parse(n);
// 解析Base64字符串
const ciphertext = CryptoJS.enc.Base64.parse(e);
// 解密过程
const decrypted = CryptoJS.AES.decrypt({ ciphertext }, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 返回解密后的字符串,确保转换为UTF-8
return decrypted.toString(CryptoJS.enc.Utf8);
}
var data = "密文"
console.log(jiemi(data));
原文始发于微信公众号(小呆安全):【实战小技巧系列】小程序挖掘-js逆向请求与解密
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论