JS逆向 | 非常騷的環(huán)境自吐法(以某條最新版?zhèn)€人主頁為例)

聲明:本文只作學(xué)習(xí)研究,禁止用于非法用途,否則后果自負,如有侵權(quán),請告知刪除,謝謝!

目標網(wǎng)站:

aHR0cHM6Ly9wcm9maWxlLnpqdXJsLmNuL3JvZ3VlL3VnYy9wcm9maWxlLz91c2VyX2lkPTM2MjMxMjAzNjE=

引言

最新版的某條反爬出來后,難倒了一大片,可謂其系列產(chǎn)品web端反爬檢測最嚴格的。原來的反爬,只需要根據(jù)報錯,補充環(huán)境,使之能運行即可獲取到數(shù)據(jù)。但最新版的我操作過,能運行但無法獲取數(shù)據(jù)。后來我全部模擬出來,只要有一項檢測錯誤,它都不通過,改了那項后馬上就通過了,說明這次它真的認真了!

其實它的套路還是原來的套路,只是原來檢測了環(huán)境,但可能后端校驗不嚴格,現(xiàn)在增加了一些騷操作后,后端的校驗也嚴格了而已。既然套路一樣,那我們還是走模擬瀏覽器環(huán)境這條路。

筆者試過利用ProxyObject.defineProperty的方法來監(jiān)測JS調(diào)用了哪些環(huán)境,但這種方法監(jiān)測得不夠全面且不夠深入,容易漏監(jiān)測,一旦漏了,那其實前面監(jiān)測到的可能就全盤無效了,因為不同的環(huán)境,它的控制流會走不同的路線,比如canvas的操作無法監(jiān)測到,或類似下面的代碼無法監(jiān)測到

window.Object.prototype.toString.call.apply(window.Object.prototype.toString, [window])

下面介紹一種簡單高效的環(huán)境自吐法(筆者自取的名字hhh),直接上幾張效果圖,前方高能,不要眨眼?。?!

XMLHttpRequest操作

document操作
storage操作
window對象的各種檢測方法
canvas相關(guān)操作

可以看到,再難再深入的檢測,全部自己吐出來了,連它的算法過程都可以吐出來。有耐心的,甚至可以自己將它翻譯還原了。而且這方法是基于瀏覽器自身環(huán)境,且直接在它的頁面調(diào)用,生成的算法就是它的原生算法,因此只要對照著模擬到位,可以100%獲取數(shù)據(jù)。

成果展示1
成果展示2

想看詳細內(nèi)容,請使用微信瀏覽:

https://mp.weixin.qq.com/s/595CjegcOLbLIyzR8DxuYw

歡迎關(guān)注我的公眾號“逆向新手”,逆向系列將持續(xù)更新!

公眾號
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容