返回
第二个 JS 逆向项目:解密加密的 JavaScript 数据
后端
2023-10-10 23:48:11
摘要:
在这个引人入胜的 JavaScript 逆向系列的第二篇文章中,我们将深入探讨如何解密目标网站加密的 JavaScript 数据。我们将遵循一个分步流程,从需求分析到代码解密,掌握 JavaScript 逆向的技巧。
第一步:分析需求
- 目标网站: https://www.qimingpian.cn/finosda/project/pinvestment
- 任务: 解密通过 JavaScript 加密的网站数据
第二步:查找异步加载的接口
通过分析网站代码,我们发现数据通过异步加载的接口动态获取。接口地址为:
https://www.qimingpian.cn/finosda/finos_search/Pinvestment/getProjectList
第三步:识别加密算法
使用 JavaScript 调试器(如 Chrome DevTools),我们在加密算法中定位了以下代码段:
function encrypt(data) {
let encryptedData = CryptoJS.AES.encrypt(data, 'SECRET_KEY');
return encryptedData.toString();
}
这表明数据使用 CryptoJS 库中的 AES 加密算法加密,密钥为 "SECRET_KEY"。
第四步:解密数据
了解加密算法后,我们可以编写一个解密函数:
function decrypt(encryptedData) {
let decryptedData = CryptoJS.AES.decrypt(encryptedData, 'SECRET_KEY');
return decryptedData.toString(CryptoJS.enc.Utf8);
}
第五步:实施解密
我们使用 Axios 库从目标网站获取加密数据,然后使用解密函数对其进行解密:
axios.get(接口地址)
.then(response => {
let encryptedData = response.data;
let decryptedData = decrypt(encryptedData);
console.log(decryptedData);
});
通过遵循这些步骤,我们成功解密了目标网站的 JavaScript 加密数据,揭示了有价值的信息和见解。通过掌握这些技术,您将成为一名能力出众的 JavaScript 逆向工程师,能够揭开隐藏数据的秘密。