溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS逆向的小技巧以及XHR斷點的案例分析

發布時間:2021-12-13 18:04:45 來源:億速云 閱讀:377 作者:柒染 欄目:大數據
# JS逆向的小技巧以及XHR斷點的案例分析

## 前言

在Web安全研究和爬蟲開發中,JavaScript逆向工程是突破前端加密的關鍵技術。本文將分享實用的JS逆向技巧,并通過XHR斷點調試的實戰案例,演示如何快速定位關鍵請求參數。

---

## 一、JS逆向核心思路

### 1. 代碼定位四步法
- **搜索關鍵字**:在開發者工具中全局搜索`encrypt`、`sign`、`token`等關鍵詞
- **調用棧分析**:通過異常斷點回溯加密函數調用鏈
- **Hook攔截**:使用`Proxy`或`Object.defineProperty`劫持關鍵函數
- **AST還原**:對混淆代碼進行語法樹解析與重構

### 2. 常用調試技巧
```javascript
// 方法1:控制臺重寫函數
var _original = window.crypto.encrypt;
window.crypto.encrypt = function(params){
    console.log("Input:", params);
    let result = _original(params);
    console.log("Output:", result);
    return result;
}

// 方法2:XHR/Fetch攔截
(function() {
    var open = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function() {
        console.log('XHR:', arguments);
        return open.apply(this, arguments);
    };
})();

二、XHR斷點實戰案例

案例背景

分析某電商平臺商品列表接口的加密參數_signature生成邏輯

調試過程

1. 網絡請求觀察

JS逆向的小技巧以及XHR斷點的案例分析 - 發現關鍵POST請求攜帶_signature參數 - 常規搜索無果,參數為動態生成

2. 添加XHR斷點

  1. Chrome開發者工具 → Sources → XHR Breakpoints
  2. 添加包含/api/goods/list的URL斷點

3. 調用棧分析

觸發斷點后查看Call Stack:

? encryptParams (vendor.js:125)
? buildRequest (main.js:87)
? sendData (utils.js:203)
? XMLHttpRequest.send (native)

4. 關鍵代碼定位

vendor.js中找到核心加密邏輯:

function generateSign(params) {
    let secret = "k5j8$B#d";
    let str = Object.keys(params)
                   .sort()
                   .map(k => `${k}=${params[k]}`)
                   .join("&");
    return md5(str + secret);
}

5. 參數驗證

在Console快速驗證:

generateSign({page:1, size:20}) 
// 輸出:a3f5e8c91b2d47d6b0e1f4c2

三、進階技巧

1. 反調試對抗

  • 檢測斷點:通過console.debugDate.now()差值檢測
// 反調試代碼示例
setInterval(() => {
    if(performance.now() > 100){
        window.location.reload();
    }
}, 500);
  • 應對方案:使用Fiddler等工具代理請求,或通過override腳本禁用檢測

2. WebAssembly解析

遇到wasm加密時: 1. 使用wasm2js工具轉換 2. 分析導出函數的調用關系 3. Hook內存讀寫操作


四、工具推薦

工具名稱 用途 鏈接
Chrome DevTools 動態調試 內置
Fiddler 流量抓包 telerik.com
AST Explorer 代碼反混淆 astexplorer.net
WasmAnalyzer WASM逆向 github.com

結語

JS逆向需要耐心與技巧的結合,XHR斷點能快速定位網絡請求的加密入口。建議在實際操作中: 1. 先整體觀察再局部深入 2. 保持加密參數的上下文記錄 3. 編寫自動化驗證腳本提高效率

聲明:本文技術僅限合法授權場景使用,請遵守相關法律法規。 “`

注:實際使用時需要: 1. 替換示例圖片鏈接 2. 根據具體案例修改代碼片段 3. 補充參考文獻和工具的最新鏈接 4. 調整字數(當前約850字,可擴展案例細節)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女