逆向某網站js加密的FSSBBIl1Ugz

某些網站的js現在越來越難搞了,比如高度混淆和動態加載的瑞數,今天講下我研究瑞數的一種生成FSSBBIl1UgzbN7N83T這種cookie的思路。

研究瑞數的都瞭解,瀏覽器會分兩次請求才能拿到數據,第一次是動態加載和混淆的html,內嵌的js會自動執行併發送二次請求,我們需要調試的就是這段代碼。

<meta id="9DhefwqGPrzGxEp9hPaoag"
      content="Ld2:{/R{+b{=7{/7{7]{)^{&lt;R{/2{)Q{4*{6M&amp;Qylruuxfgvvr(fEffjfwxiqrsJuK~zn]PoNGv7y\_Q[9XLSW}&gt;OMlVU?8h|RTp4=)^HgYt{6ZI&lt;m(e:`k;j*,+- !#$%./0123@CEFacdf~fikorfifyroikfiutigzfg)8)k)k&amp;&gt;~lNgmj6rrmCqSnflVqntFqse6s8nOqCiqqUgzsBgBgwfnq3q{uprvzUq8sRsFyibxozlKoqoViVodkZf[t9vRbEmcobrzsbpMhertljiug:mI%-}i_]v/F/W2F/yoWv_5/9\x/xv2eO8(l8`(2O8v\5M)~GFwv/oh22FikvaL+nW2lvGj1/2Fh~/0v~+7^24}{vN56)6k,x\ZbvGljl2+,+lWv`jhdoH/+oZ`\Ialvl-WFGl]v6LiLaLiugkhXvWGj_ma+ngY}9v3x89c]va40j~e{HWWvIfMp_e[v\fb9N.I)\*[9m.hpN]v_G}voF/ZmF/,WwvI4]8_G]wvNYmOv^j9(oH|_2e762HIvGO/22+,G/FjmWjWzGHjNa2Hm^j7.o+`12l7*(jMv3x}v3L1-kL1icYhDh0vl........">
<!--[if lt IE 9]>
<script r='m'>document.createElement("section")</script><![endif]-->
<script type="text/javascript" src="/4QbVtADbnLVIc/c.FxJzG50F.js?D9PVtGL=89b6cd" r='m'></script>

引入的js會生成10000行左右用於加密cookie的代碼,content是生成加密的參數,其中會加入瀏覽器特徵,渲染器特徵等。第一次請求動態加載瀏覽器不容易調試,可以使用charles或者fiddler攔截響應,添加debugger,在發送到瀏覽器會斷在想要的位置

本地摳出來一份js,跟着瀏覽器調試一步步補充需要的瀏覽器特徵。對於調試錯誤的地方,再攔截響應將本地帶有debugger的html進行覆蓋。不斷地調試同一份請求,瀏覽器特徵添加沒有問題的情況下面標註的函數運營到最後會eval一段很長的js

到這個位置第一段js調試基本上完成了,第二段很長的js同樣需要複製到本地進行調試。

第二段js是最難調試的當中包含很多的window屬性和鼠標移動事件,博主研究的網站對於鼠標移動,電池狀態等信息不檢測調試時可以註釋掉。這段js邏輯需要我們用時間慢慢啃了,如果出現大量的變量混淆,可以正則替換。調試完畢走到下面這步

生成的cookie和瀏覽器一樣這個時候不要高興,你多刷新幾次改變本地content會發現生成cookie會和瀏覽器生成的不同。

博主研究了很久發現部分參數調用函數會變化,搞清楚怎麼回事就好辦了,正則匹配寫成if...else....語句就行

第三段代碼調試是下面的這部分

跟着瀏覽器一步步調試,注意會有動態加載的字符串需要正則匹配出來,仔細+時間到最後還是可以擼出來的。

本文章只用來研究學習使用,如果侵犯某些利益請聯繫博主刪除。博主qq:1583912745

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章