博客 / 詳情

返回

你的微博也被盜贊?試試HSTS強制HTTPS加密

微博賬户被盜贊或被動加關注的問題,可能很多用户都遇到過,每天都會發現自己的賬户莫名其妙關注或點讚了幾十個營銷號、廣告號、明星號的微博,挨個取消被盜的關注和贊,竟然成了日常最主要的微博操作,很多用户對此感到不厭其煩。

原因分析

從技術上看,能夠給微博賬號加關注或盜讚的途徑通常有:1、微博賬户被盜,能夠被別人直接登錄;2、使用第三方客户端等,可以通過微博開放平台OAuth拿到access token,然後權限被濫用;3、在瀏覽器上使用web版微博登錄時,cookies被泄露了。

對此,微博安全中心也曾給過一些安全建議,比如:建議用户更換密碼、升級客户端、設置登錄保護、清除第三方應用權限等等,但是不少用户按照建議完成這些操作後,被盜讚的問題仍然存在。

在對不同客户端、web端的訪問情況進行分析後我們發現,雖然微博已經啓用HTTPS加密 很多開放平台的接口也使用HTTPS加密,但你的瀏覽器書籤、別人發給你的鏈接、舊的外鏈、其他應用生成的鏈接都可能還是 HTTP 的。當部分請求由HTTP連接301跳轉到HTTPS時,這個 HTTP 請求仍然會帶上瀏覽器在 http://weibo.com 域下的所有 cookie。這麼一來,當用户登錄後在某個特定場景訪問到HTTP的微博鏈接時,仍然可能遭遇cookie劫持,清除授權或修改密碼也沒有用。

解決方法

通過給 cookie 設置 secure 或者在服務器端設置 HSTS(HTTP Strict Transport Security) 也能解決這個問題,但是微博服務器端的設置是用户無法控制的,作為用户還有沒有什麼辦法解決這個問題呢?沃通CA(www.wosign.com)建議:比較簡單的做法就是,用户在Chrome瀏覽器手動設置HSTS預載入列表(preload list),將微博域名加入預載入列表,強制HTTPS加密訪問。

HSTS代表的是HTTPS嚴格傳輸安全協議,它是一個網絡安全政策機制,能夠強迫瀏覽器只通過安全的HTTPS連接(永遠不能通過HTTP)與網站交互,這能夠幫助防止協議降級攻擊和cookie劫持。但是對於HSTS生效前的首次HTTP請求,依然無法避免被劫持,瀏覽器廠商們為了解決這個問題,提出了HSTS Preload List(預載入)方案:內置一份可以定期更新的列表,對於列表中的域名,即使用户之前沒有訪問過,也會使用HTTPS協議。Chrome運營了一個HSTS 預載入列表,大多數主流瀏覽器Firefox, Opera, Safari, IE 11 and Edge也都有基於Chrome列表的預載入列表。

在Chrome瀏覽器設置HSTS預載入列表的方法是:

  • 在 Chrome 裏打開 chrome://net-internals/#hsts
  • Add domain中增加微博主域名

  • Query domain中能查詢到就可以了

圖片描述

在HSTS預載入列表中加入微博主域名後,Chrome再遇到HTTP的微博連接,會直接在瀏覽器內部就跳轉到 HTTPS,確保請求從一開始就加密,保證通訊安全,防止cookie劫持、SSL Strip中間人攻擊,您可以通過Chrome開發者工具對此進行驗證。關注沃通CA獲取全球信任SSL證書。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.