目標網站:aHR0cHM6Ly9mYW55aS5iYWlkdS5jb20vI2VuL2NodC9oZWxsbw==
請求參數跟值
- 下個XHR斷點,一步一步跟很容易可以來到這處
- 請求參數就是
this.paramData
- 這時一個快捷的方法是先看看
this.constructor ,看paramData 是否在構造函數裡就已經賦值
- 然後向上一層就能找到參數生成的地方
- 慢慢調試,會發現除了
sign 外,其他參數都能固定
- 生成
sign 的函數也很容易扣,用一般webpack的扣法就能搞出來
Acs-Token跟值
- 在上述跟值的過程中就能看到
Acs-Token 賦值的地方
打個條件斷點跟到這裡,再往前就是異步
- 在異步的地方下斷點,測試後發現代碼會走2次這裡,若第2次時再按
F8 就會去到上一步條件斷點的位置
- 因此在第2次時按
F11
然後發現n 是生成好的Acs-Token ,代表我們又更前了一步
繼續向前跟會發現Acs-Token 在n.gs 的回調函數中出現
- 跟進
n.gs ,來到另一個名為acs-2060.js?_=XXXX 的代碼中,而n.gs 就會下圖紅框的這個函數
- 根據文件名其實就可以推測
Acs-Token 的值就是在這裡生成,而n.gs 這個函數就可以作為生成Acs-Token的入口,最終結果會在回調函數的參數生傳入
Acs-Token生成
複製整份acs-2060.js?_=XXXX 的代碼,放到補環境框架裡,在日志可以看到,它很貼心地幫我們將入口函數導出了,直接在全局就能使用
- 調用方法如下,然後就是補補環境讓它能出值就可以了
- 經測試發現它對環境的校驗並不強,能出值基本上就能用了?( 或許吧
附上一張請求成功的圖^^
|