為什么UserAgent中出現(xiàn)「 iPhone;U; 」的訂單都是高危的?
相信大多數(shù)童靴對 UserAgent (以下簡稱 “UA”)都比較了解,但在開頭還是簡單介紹一下 UA 的基本概念,方便理解。
UserAgent 是什么?
UserAgent 又稱為「用戶代理」,簡稱 UA 。 UA 的存在,能夠讓服務器能夠識別客戶端的信息,從而針對不同客戶端做出特定的行為。
比如,給瀏覽器語言設置為中文的用戶觀看中文頁面;給使用移動瀏覽器的用戶推薦 APP 下載鏈接等。
UA 是一串字符,其標準的格式為:瀏覽器標識(操作系統(tǒng)標識;加密等級標識;瀏覽器語言)渲染引擎標識版本信息。
例:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36
通過 UA ,你能對用戶使用的軟件硬件情況有個大致的了解。比如以上的例子就可以翻譯成:
Windows 10 系統(tǒng)下的 64 位計算機,使用 Webkit 渲染引擎的 Chrome/Safari 瀏覽器。
為什么 UserAgent 中出現(xiàn)「 iPhone;U;」的訂單都是高危的?
回答這個問題之前,需要先回答另外兩個問題。
① iPhone;U 這種組合合理嗎?
合理。不過僅限于 iOS4 以及之前的版本。
- iOS4 以及之前的 UA :
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A306 Safari/6531.22.7
- iOS5 以及之后的 UA :
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405 Safari/7534.48.3
可以發(fā)現(xiàn),iOS5 開始,‘ U ’消失了。
②‘ U ’的意思?為什么 iOS5 開始就沒有‘ U ’
‘ U ’是加密等級的標識,‘ U ’表示「 128AES 」強數(shù)據(jù)加密,相對于‘ I ’弱安全加密「 40AES 」和‘ N ’無安全加密。
- iOS4 以及更低的版本,均是使用「 128AES 」類型進行加密。在 UA 中標示為‘ U ’ 。
- 而從 iOS5 開始,數(shù)據(jù)開始使用「 256AES 」類型進行加密。由于‘ U ’ 是特指「 128AES 」類型,所以 UA 中不再有‘ U ’ 。
通俗解釋就是:
- iPhone;U; 早期版本的iOS
- iPhone; 現(xiàn)役版本的iOS
帶「 iPhone;U;」字樣跟互聯(lián)網欺詐訂單有什么關系?
蘋果公司在 2011 年年末發(fā)布的 iPhone4s 自帶 iOS5 ,所以帶「 iPhone;U;」字樣的設備***的型號也只是 iPhone4( iPad 2 或者過時的iPod Touch 4 ) 。
而今 iOS 已經經歷了多個版本的迭代,并且根據(jù)公開數(shù)據(jù)顯示,截止 2016 年 7 月,iOS9 占 86% ,iOS8 占 11% ,余下更早版本的所有占 3% 。
這里面又有多少是 iOS4 呢?在發(fā)現(xiàn)了一批欺詐訂單都具有這個特點之后,我們不禁想到:
2016 年在線購物的人,還會用著過時的 iOS4 系統(tǒng)嗎?
***的可能性,就是“某些人”用著一批被市場淘汰的設備,發(fā)揮它的“剩余價值”。在被風控業(yè)務人員發(fā)現(xiàn)之前,這么做,其實也不算太笨。
一個值得思考的擴展問題
問:UserAgent 能夠被修改嗎?
答:可以。主流瀏覽器有專門修改 UserAgent 的插件,并且網絡上也流傳著各種修改的方法。但是所有的修改,也只是在一個現(xiàn)有的 UA 庫里選擇,并不能做到真正意義上的自定義。