新春佳節剛剛過去,在這段大家都灰常悠閑的日子里,有人卻忙的不可開交,比如說擼活動獎品的羊毛黨。
極小驗無意中看到一篇帖子,主要內容就是教廣大投機倒把分子如何把Google瀏覽器偽裝成微信瀏覽器來擼活動,對于這些羊毛黨們的猖狂,極小驗表示很生氣。
我們先來看看這帖子是怎么說的。
作者選擇了一個微信活動作為目標,通過PC端瀏覽器打開該活動鏈接。

顯示無法打開,因為微信活動適配的是手機端的。
緊接著,打開谷歌瀏覽器,按F12。

點擊紅色框中的,像手機一樣的圖標,就可以查看不同類型手機的界面預覽了。

然后將后面的UA替換掉就可以大功告成。


看起來真的是十分簡單的一個方法,而這個方法中唯一一點比較有技術含量的,就是偽裝UA了。
那么這個UA到底是啥玩意兒呢?
User Agent 我們簡稱UA,指用戶代理,是代表用戶行為的軟件所提供的一個標識自己身份的標識符,包含了用戶正在使用的設備以及軟件的一些信息(例如操作系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等)。
用戶代理需要通過服務器的確認之后,才能夠獲取服務器資源。網站可以通過用戶代理字符串來確定應該向用戶提供哪個版本的服務。用戶代理最直接的應用就是瀏覽器啦。
我們來詳細了解一下用戶代理字符串。

該用戶代理應用是Mozilla的5版,或一類和它兼容的軟件。
操作系統是OS X版本10.2.2(是在Mac上運行)。
客戶端是Chrome版本51.0.2704.84。
客戶端基于Safari版本537.36。
負責該設備上的顯示內容引擎applewebkit版本537.36。
UA的誕生,其實是為了幫助我們的網站更好的為網絡用戶們提供服務。根據UA,服務器可以檢查瀏覽器或設備的功能,并加載不同的CSS的結果;通過辨別用戶代理,服務器提供手機端和PC端不同的網頁頁面布局;基于用戶代理語言的偏好,自動發送正確的翻譯文檔;根據設備類型或者一些其他因素,為特殊人群提供個性化服務等等。
但是我們也看到,UA只是一個簡單的字符串,偽裝起來十分方便。
從積極的一面來說,很多瀏覽器也會偽裝自己為其他瀏覽器來提高兼容性,或者更好的進行開發。在安卓的設備上,瀏覽器會偽裝成Safari來避免加載內容的時候出現問題,海豚瀏覽器就有一個很有用的桌面偽裝模式。
但是惡意爬蟲也可以偽裝成為一個普通的瀏覽器,爬取網站的資源。
首先獲取若干瀏覽器的UA:

設置如下代碼:

就能夠實現爬蟲偽裝瀏覽器了。
當然,我們也有相應的機制來解決上述提到的篡改UA的問題,比如有的瀏覽器和服務器交換UA會進行相應的加密,這樣可以防止UA被窺探和偽裝。不同的瀏覽器性能其實是不一樣的,惡意程序偽裝成的瀏覽器性能卻是一樣的,所以我們常常會利用UA和瀏覽器其他特征之間的聯系來識別惡意程序。
極驗也是一直致力于利用深度學習來進行數據防偽,UA很簡單,單一UA的確不能夠給我們帶來有用的安全防護。但是作為安全一部分,UA拓展了我們檢測的維度。雖然UA可以偽造,但是各項特征之間的關系卻不能夠偽造,UA中包含了JS解析引擎、操作系統及硬件平臺信息。當前頁面上JS的執行性能與JS解析引擎、操作系統、硬件平臺和當前機器負載有關。
一真實UA如下:

惡意程序可以在iOS系統下,用Safari瀏覽器偽裝成上述UA,但是其JS的執行性能分析結果必然會有很大的不同,畢竟是不同的操作系統和瀏覽器。
所以UA仍然有著他不可替代的作用。
您也可以關注我們的官方微信公眾號(ID:ctoutiao),給您更多好看的內容。