【JS逆向04】加密数据&算法解密&提交返回还原&扣代码调用&替换库模拟&堆栈定位&特征搜索

分析方法

  • 根据调用堆栈找加密前后定位
  • 根据提交URL,参数名等搜索定位

请求数据解密1:

分析:登录后看提交参数,找到param:及和调用堆栈文件对应

下数据加密后断点,追踪za(c.value, S),AES算法条件模式测试

调用堆栈分析:耗时

url路径/全局参数搜索:更快

全局搜索param:,如果有多个则配合“调用堆栈”中是否出现分析

寻找加密函数

定位加密函数

分析加密函数

验证


请求数据解密2:(单个使用扣代码模拟)

分析:登录后看调用堆栈下断点,找到hidetxtPassword

追踪hidetxtPassword数据处理,找到引用加密JS下载测试

缺点:如果这个js文件不是单独的,在其中某些函数引用到其他js文件中,需要保证把这些js文件全部下载下来

实际替换”123456″为要爆破的密码或各种攻击语句,实现测试


返回数据解密1:(单个使用扣代码模拟)

返回数据加密,无法看见攻击结果,如返回状态码,什么错误

分析:

URL定位后断点,分析到算法webInstace.shell,定位到加密js文件,发现应该是使用了webpack加密混淆了,无法正常看出是什么算法

下载JS文件,Webpack打包利用Node.js运行调用(借助AI),webpack打包的不能利用原生代码调用

问ai:已知webDES.min.js为webpack打包的代码,如何使用Node调用里面的webInstace.shell方法


返回数据解密2:(多个使用替代库模拟)

分析:

使用替代库crypto-js

npm init -y
npm install crypto-js

key来源:定义一个常量s,SHA1加密后获取一个值,并取前32位

AES解密:o是需要解密的字符串,r是key,mode是ECB,iv不需要

使用替代库crypto-js,然后把关键代码拿下来改

const CryptoJS = require("crypto-js");
​
// 生成32字节密钥(取SHA1哈希的前32个字符)
const secretKey = CryptoJS.SHA1("tSdGtmwh49BcR1irt18mxG41dGsBuGKS")
  .toString(CryptoJS.enc.Hex)
  .substr(0, 32);
const key = CryptoJS.enc.Hex.parse(secretKey);
​
/**
* AES-ECB-PKCS7Padding 解密函数
* @param {string} encryptedBase64 - 待解密的Base64字符串
* @returns {Object} 解密后的JSON对象
*/
function decrypt(encryptedBase64) {
   try {
       // 解析Base64密文
       const cipherParams = CryptoJS.enc.Base64.parse(encryptedBase64);
​
       // 使用ECB模式和PKCS7填充进行解密
       const decrypted = CryptoJS.AES.decrypt(
          { ciphertext: cipherParams },
           key,
          {
               mode: CryptoJS.mode.ECB,
               padding: CryptoJS.pad.Pkcs7
          }
      );
​
       // 转换为UTF-8字符串并解析JSON
       return JSON.parse(decrypted.toString(CryptoJS.enc.Utf8));
  } catch (error) {
       console.error("解密失败:", error);
       return null;
  }
}
const encryptedData = "";
const result = decrypt(encryptedData);
console.log("解密结果:", result);

十二亿七千光年
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇