日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

瑞数FSSBBIl1UgzbN7N443T分析

發布時間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 瑞数FSSBBIl1UgzbN7N443T分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文僅做研究使用.

研究的是一個移動的網站,12580惠生活https://hsh.12580.com/Login/login.html

觀察抓包:


分2次請求,才得到了頁面:


加入不處理cookie,直接進行第二次請求:

這樣是獲取不到數據的.

原因:

第一次請求獲取了js代碼,生成FSSBBIl1UgzbN7N443T這個cookie.帶著這個cookie請求才是成功的,這也是今天要分析的.

目標:

由于第一次請求獲取js代碼的數據每次都是變化的,變量也是混淆的,因此要完美的破解的話,必須解決每次多變不一的混淆,因此我們的目標是這樣,每次獲取得到的js代碼,直接使用一個eval來執行,偽代碼:

function get_data(jscode){eval(jscode)return FSSBBIl1UgzbN7N443T}

思路:

按照以上的目標,分析還是要以單次獲取的js來分析:

首先來觀察下代碼:

基本上是無法閱讀的,細心看下:


String對象被替換了


window對象被替換了.

所以要查看如何調用的話,在代碼里面基本讀不出來了.

js 扒下來運行,發現

1.id="9DhefwqGPrzGxEp9hPaoag" 的content屬性是一個關鍵的地方 2.window['$_ts'];這個也是解密相關的參數,是固定的,也可以抓出來.

接著來到了下一層的eval:


調用的關系是這樣的:

eval.call(window,code)

源代碼是這樣的,但是我們在node中執行的時候就會出錯.


出錯的原因是:

_$DA函數沒有定義
但是函數明顯有定義:

由于我們的目標是不打算替換任何的代碼和改變任何一處源代碼的內容,所以我們打算深入的研究一下這個問題:
舉例:


在瀏覽器中,我們定義了一個函數a和全局變量b,使用window[‘a’]和window[‘b’]來進行調用,發現是可以調用成功的

node中:

這樣發現,函數a并沒有添加到全局的global對象中.window[‘a’]和window[‘b’]均為undefined

這是一個非常有意思的結果.在瀏覽器中,var 定義的全局變量會加到全局window屬性中去,函數也自動加到了全局為window調用.但是在node中卻不會加到全局.

這個也是我們使用eval執行出現報錯的原因.

解決辦法:

使用遍歷AST修改代碼,將全局的var和代碼第一層函數添加到window對象上去:

全局var

首層函數

這樣就不需要改變任何代碼內容就完美的解決了這個問題

剩下的所有分析都在第二層的eval中了.

有幾個難點:

1.location.reload會一直重新加載頁面,阻擾分析的進行,可以將這段代碼屏蔽掉 2.canvas對象: 某數中不僅使用了2d的canvas畫圖也是用了webgl的3D畫圖,所以這一部分的模擬需要很認真. 3.檢測的瀏覽器對象需要一一模擬,當然按照我們追求完美的結果的話需要這樣

接下來python模擬請求:


后面還有一個參數MmEwMD會在接下來的日子里分享思路.

總結

以上是生活随笔為你收集整理的瑞数FSSBBIl1UgzbN7N443T分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。