躲避 HSTS 的 HTTPS 劫持

2021-07-29 03:32:50 字數 2258 閱讀 5033



hsts 的出現,對 https 劫持帶來莫大的挑戰。

不過,hsts 也不是萬能的,它只能解決 sslstrip 這類劫持方式。但仔細想想,sslstrip 這種算劫持嗎?

從本質上講,sslstrip 這類工具的技術含量是很低的。它既沒破解什麼演算法,也沒找到協議漏洞,只是修改和**了明文的封包而已。

如果說劫持,要保持源站點不變才算的話,那 sslstrip 並沒做到。根據同源的定義,《協議, 主機名, 埠》三者必須相同。顯然它修改了協議,因此並非在源站點上劫持,而是進入了另個不同的站點。

既然站點都不同,那就屬於釣魚**了。

而 sslstrip 正好利用了人們的認知弱點,確實沒有修改**主機名,從而欺騙了大部分使用者。

因此更確切的說,這就是一種高階釣魚。

由於 hsts 這種反釣魚的機制出現,即使蒙的了使用者,但也騙不過瀏覽器。

hsts 正是以主機名為單位的。在新的版本裡,甚至還支援所有子網域名稱(includesubdomains)。

如果還抱有僥倖心理,期望能過濾首次的 hsts 頭,那麼 preloading hsts 能讓瀏覽器天生就記住某些**。徹底打消 sslstrip 的念頭。。。

不過,剛剛也說了,sslstrip 本質就是**釣魚。既然都釣魚了,何必這樣鬼鬼祟祟的反倒被發現,為何不正大光明的釣?

反正釣魚考的就是使用者眼力,不如再進一步,乾脆把主機名也改了吧!眼力不好的人,可能還是看不出破綻。

例如,將原本的鏈結,跳轉到這個釣魚**,仍會有不少使用者覺察不到。

www.alipay.cn這個虛假的主機名,顯然不會在 hsts 白名單中,因此又可以無限劫持了!

在流量劫持的環境裡,任何明文資料都是可控的。即使訪問www.alipay.cn這種不存在的網域名稱,中間人也可模擬 dns 應答,從而可偽造出各種看起來相似的釣魚站點。

在之前那篇 《sslstrip 的未來 —— https 前端劫持》 中,我們是在 url 的 query 中進行偽裝的:

雖然修改了 url,但主機名沒變,因此仍躲不過 hsts。

所以,我們需要將 symbol 標記轉移到網域名稱裡:

將頁面中出現的 https 網域名稱稍作修改,就是完全不同的乙個站點了,因此即可徹底擺脫 hsts 的白名單。

例如把網域名稱都替換成 .cn 的,原本www.alipay.com就變成www.alipay.cn了,這樣即使使用者瀏覽器裡存在 hsts 記憶,那也是之前的,這個臨時偽造出來的釣魚站點,自然不會有的。

儘管站點完全不同,但表面上看起來仍是相似,因此使用者仍然不易察覺。

同時,中間人能夠識別出網域名稱中的這個被修改過的特徵,在**時還原回先前的網域名稱,進行正常**。

對於大部分使用者來說,位址列裡醒目的 https 綠色證書,是乙隻強心劑。而 sslstrip 剝離了協議,顯然是不可能出現了。

但如今通過修改主機名,能否要回這個圖示?

如果想有,顯然得申請乙個合法的證書。但要將所有的 .cn 網域名稱都配上數字證書,肯定是不現實的。

不過既然是釣魚**,主機名也可以隨意改,何必困死在頂級網域名稱上?

我們可以申請乙個泛網域名稱證書,例如 *.xx.com。這樣,將目標站點都套在該二級網域名稱下,即可以 https 協議進行釣魚了。

(這裡以自簽署的證書演示)

雖然網域名稱相比之前差別較大,但有醒目的綠色證書,反而更容易被蒙蔽了。

由於釣魚的方式可以千變萬化,因此 hsts 也很難從根本上進行防禦。

在過去,未提供的協議的**,都是以預設的 http 方式請求,因此在這個入口就有極大的風險。而 hsts 的出現,很大程度的解決了這個隱患。

儘管是釣魚,但也不是完全沒有防禦方案。

從攻擊者的角度來看,如果要為各種站點製作乙個釣魚**,成本是極大的。而且更新起來也不容易,資料也難以保持實時。

因此,通常是直接**線上的站點內容。既然這樣,不妨在網頁中悄悄加入些監控指令碼,統計當前頁面究竟在哪些網域名稱裡出現過,就能快速找出一些釣魚**了。

當然,攻擊者也可以過濾掉這段監控指令碼,這就是後期對抗的事了。

從 HTTP 到 HTTPS 再到 HSTS

近些年,隨著網域名稱劫持 資訊洩漏等網路安全事件的頻繁發生,安全也變得越來越重要,也促成了網路傳輸協議從 http 到 https 再到 hsts 的轉變。http 超文字傳輸協議 是一種用於分布式 協作式和超 資訊系統的應用層協議。http 是網際網路資料通訊的基礎。它是由全球資訊網協會 w3c ...

從 HTTP 到 HTTPS 再到 HSTS

近些年,隨著網域名稱劫持 資訊洩漏等網路安全事件的頻繁發生,安全也變得越來越重要,也促成了網路傳輸協議從 http 到 https 再到 hsts 的轉變。http 超文字傳輸協議 是一種用於分布式 協作式和超 資訊系統的應用層協議。http 是網際網路資料通訊的基礎。它是由全球資訊網協會 w3c ...

網域名稱 瀏覽器 HSTS和HTTPS的關係

www的英文是worldwideweb,翻譯過來就是全球資訊網。他的含義當年定義為它是基於html超文字標記語言和http傳輸協議為基礎的提供的一種網頁服務。但是現在科技迅猛發展,他還有實際存在的意義嗎?答案是肯定的,只是和以前的作用不同罷了。現在乙個網域名稱後面有很多臺伺服器支撐,也不需要通過字首...