溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

網(wǎng)站登錄需要的sensor_data是怎樣的

發(fā)布時(shí)間:2022-01-04 09:12:37 來(lái)源:億速云 閱讀:107 作者:柒染 欄目:大數(shù)據(jù)

網(wǎng)站登錄需要的sensor_data是怎樣的,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

sensor_data 這個(gè)東西,相信都有很多人知道這個(gè)東西,我之前也搞過(guò)這個(gè)網(wǎng)站的登錄,但是不成功,只能得到某些網(wǎng)頁(yè)的數(shù)據(jù),對(duì)于登錄,當(dāng)時(shí)是一直被拒絕的,就像下面這樣。  

網(wǎng)站登錄需要的sensor_data是怎樣的


在今天,終于把它拿下了。  

網(wǎng)站登錄需要的sensor_data是怎樣的

接下來(lái)說(shuō)下這個(gè)東西需要的東西,如果你會(huì)使用ast還原代碼的話,這個(gè)網(wǎng)站對(duì)你來(lái)說(shuō)還是很容易的。還原之后是這個(gè)樣子的:

網(wǎng)站登錄需要的sensor_data是怎樣的

不過(guò)這個(gè)網(wǎng)站很神奇,我在還原代碼之后,使用 fiddler 替換 js文件,網(wǎng)站報(bào)錯(cuò)了,然后我試著不開(kāi)重定向 js 文件,還是不行,清除了 cookie 所所有的東西都是不行,但是別人的電腦卻可以,如果有大神知道原因的話,希望能交流下。  

還原之后,一眼下去就知道這個(gè)網(wǎng)站檢測(cè)的啥了,都是些瀏覽器指紋,在第一次初始化 sensor_data 的時(shí)候,只用到了少部分瀏覽器指紋,比如 ua、瀏覽器寬高等這些屬性,比較多的指紋都在幾個(gè)定時(shí)器上面加載的,如下面:  

網(wǎng)站登錄需要的sensor_data是怎樣的

所以需要在一些獲取瀏覽器指紋的地方打個(gè)斷點(diǎn),多個(gè)幾個(gè)也沒(méi)事,寧可錯(cuò)殺,不可放過(guò)。  

里面比較厲害的是,瀏覽器指紋這些都是明文的,不加密,這樣子如果量爬的話,就會(huì)很容易被封瀏覽器,需要大量的瀏覽器指紋,這也是個(gè)很大難度的事,有經(jīng)驗(yàn)的也可以交流下。  

里面的 getforminfo 這個(gè)函數(shù)是獲取當(dāng)前頁(yè)面的 input 表單的屬性,這個(gè)可以模擬,也可以直接固定,反正我固定也是可以過(guò)的,不需要改變。  

里面的定時(shí)函數(shù)需要自己在適當(dāng)?shù)臅r(shí)候調(diào)用,大概的調(diào)用順序如下:  

網(wǎng)站登錄需要的sensor_data是怎樣的
這個(gè)有經(jīng)驗(yàn)的話還是好處理的,接下來(lái)就是比較難的了,里面設(shè)置了很多監(jiān)聽(tīng)事件,如 click、mousedown、keydown、mousemove等17個(gè)事件,不過(guò)主要是 mousemove 和 mousedown這兩個(gè)事件,因?yàn)閙ousedown 這個(gè)事件會(huì)更新 abck cookie,mousemove的話無(wú)處不在,但是只記錄前100個(gè) mousemove,其他的暫時(shí)不清楚,沒(méi)細(xì)看。  

如果需要模擬事件的話,可以自己在 js里面加上些自己的js語(yǔ)句來(lái)收集事件軌跡,用 fiddler 的重定向來(lái)就行了。注意的是,一定需要 mousedown 事件是最后的,因?yàn)橹挥羞@個(gè)事件才會(huì)更新 sensor_data, 其他的都是在收集信息,所以需要他是最后一個(gè)事件。

來(lái)到這里就差不多成功了,就只剩下模擬請(qǐng)求了。他這里初始化的話會(huì)一開(kāi)始就有兩個(gè)請(qǐng)求,

網(wǎng)站登錄需要的sensor_data是怎樣的

第一個(gè)是請(qǐng)求獲取這個(gè)文件的 js,這個(gè)文件就是用來(lái)生成 sensor_data 的,第二個(gè)是獲取初始化的 sensor_data 并發(fā)送到服務(wù)器校驗(yàn)。  

接下來(lái)定時(shí)器會(huì)有個(gè)請(qǐng)求,因?yàn)樗铝藄ensor_data, 所以也需要發(fā)送到服務(wù)器。  

因?yàn)槲覀冃枰M登錄,所以還會(huì)有兩個(gè) mousedown 事件,一個(gè)是點(diǎn)擊登錄來(lái)顯示登錄控件的。  

網(wǎng)站登錄需要的sensor_data是怎樣的

還有一個(gè)是點(diǎn)擊登錄按鈕來(lái)進(jìn)行登錄的  

網(wǎng)站登錄需要的sensor_data是怎樣的

所以還需要兩個(gè)這樣的請(qǐng)求,所以總共校驗(yàn)了 5 次,這個(gè)是很重要的。

如果你只是模擬了四次,成功率大概有 50%左右,而且分分鐘也運(yùn)行不了,模擬了五次之后,成功率就穩(wěn)穩(wěn)的了

網(wǎng)站登錄需要的sensor_data是怎樣的

接下來(lái)就是登錄請(qǐng)求了,登錄請(qǐng)求的 data 參數(shù)我直接固定了,因?yàn)槲抑皇菍W(xué)習(xí)下,并不爬或者做其他事,所以直接固定了事。登錄請(qǐng)求需要東西只有這些即可:

網(wǎng)站登錄需要的sensor_data是怎樣的

最后,還是比較重要的,因?yàn)檫@個(gè)網(wǎng)站里面需要用到很多中間變量來(lái)一步步加密 sensor_data,每次加密的變量都和上一次有關(guān)的,所以需要使用 nodejs 開(kāi)個(gè) api 接口來(lái)搞,直接用 execjs 來(lái)的話,很難搞,開(kāi)個(gè) api 也不難,直接如下:  

網(wǎng)站登錄需要的sensor_data是怎樣的

最后的最后,做完這些,你就能登錄了,這個(gè)網(wǎng)站難點(diǎn)在于軌跡,不過(guò)好像軌跡也不怎么校驗(yàn),其他的都不難,,里面的加密都只是用到 base64 和一個(gè)摘要算法好像,基本都是明文,所以不難,你會(huì)操作ast還原代碼的話更加容易了。    

關(guān)于網(wǎng)站登錄需要的sensor_data是怎樣的問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI