HTTPS SSL 中間人劫持攻擊原理

2022-04-10 21:28:19 字數 2066 閱讀 9929

中間人攻擊(man-in-the-middle attack, mitm)就是通過攔截正常的網路通訊資料,並進行資料篡改和嗅探,而通訊的雙方卻毫不知情。

假設愛麗絲(alice)希望與鮑伯(bob)通訊。同時,馬洛裡(mallory)希望攔截竊會話以進行竊聽並可能在某些時候傳送給鮑伯乙個虛假的訊息。

首先,愛麗絲會向鮑勃索取他的公鑰。如果bob將他的公鑰傳送給alice,並且此時馬洛裡能夠攔截到這個公鑰,就可以實施中間人攻擊。馬洛裡傳送給愛麗絲乙個偽造的訊息,聲稱自己是鮑伯,並且附上了馬洛裡自己的公鑰(而不是鮑伯的)。

愛麗絲收到公鑰後相信這個公鑰是鮑伯的,於是愛麗絲將她的訊息用馬洛裡的公鑰(愛麗絲以為是鮑伯的)加密,並將加密後的訊息回給鮑伯。馬洛裡再次截獲愛麗絲回給鮑伯的訊息,並使用馬洛裡自己的私鑰對訊息進行解密,如果馬洛裡願意,她也可以對訊息進行修改,然後馬洛裡使用鮑伯原先發給愛麗絲的公鑰對訊息再次加密。當鮑伯收到新加密後的訊息時,他會相信這是從愛麗絲那裡發來的訊息。

1.愛麗絲傳送給鮑伯一條訊息,卻被馬洛裡截獲:

愛麗絲「嗨,鮑勃,我是愛麗絲。給我你的公鑰」 --> 馬洛裡 鮑勃

2.馬洛裡將這條截獲的訊息轉送給鮑伯;此時鮑伯並無法分辨這條訊息是否從真的愛麗絲那裡發來的:

愛麗絲 馬洛裡「嗨,鮑勃,我是愛麗絲。給我你的公鑰」 --> 鮑伯

3.鮑伯回應愛麗絲的訊息,並附上了他的公鑰:

愛麗絲 馬洛裡

4.馬洛裡用自己的金鑰替換了訊息中鮑伯的金鑰,並將訊息**給愛麗絲,聲稱這是鮑伯的公鑰:

愛麗絲

5.愛麗絲用她以為是鮑伯的公鑰加密了她的訊息,以為只有鮑伯才能讀到它:

愛麗絲「我們在公共汽車站見面!」--[使用馬洛裡的公鑰加密] --> 馬洛裡 鮑勃

愛麗絲 馬洛裡「在家等我!」--[使用鮑伯的公鑰加密] --> 鮑伯

7.鮑勃認為,這條訊息是經由安全的傳輸通道從愛麗絲那裡傳來的。

這個例子顯示了愛麗絲和鮑伯需要某種方法來確定他們是真正拿到了屬於對方的公鑰,而不是拿到來自攻擊者的公鑰。否則,這類攻擊一般都是可行的,在原理上,可以針對任何使用公鑰——金鑰技術的通訊訊息發起攻擊。幸運的是,有各種不同的技術可以幫助抵禦mitm攻擊。

在密碼學和計算機安全領域中,中間人攻擊 ( man-in-the-middle attack,通常縮寫為mitm )是指攻擊者與通訊的兩端分別建立獨立的聯絡,

並交換其所收到的資料,使通訊的兩端認為他們正在通過乙個私密的連線與對方直接對話,但事實上整個會話都被攻擊者完全控制。在中間人攻擊中,

攻擊者可以攔截通訊雙方的通話並插入新的內容。在許多情況下這是很簡單的(例如,在乙個未加密的wi-fi 無線接入點的接受範圍內的中間人攻擊者,

可以將自己作為乙個中間人插入這個網路)。

乙個中間人攻擊能成功的前提條件是攻擊者能將自己偽裝成每乙個參與會話的終端,並且不被其他終端識破。中間人攻擊是乙個(缺乏) 相互認證的攻擊。

大多數的加密協議都專門加入了一些特殊的認證方法以阻止中間人攻擊。例如,ssl協議可以驗證參與通訊的一方或雙方使用的證書是否是由權威的受信任的

數字證書認證機構頒發,並且能執行雙向身份認證。

ssl劫持攻擊即ssl證書欺騙攻擊,攻擊者為了獲得https傳輸的明文資料,需要先將自己接入到客戶端和目標**之間;

在傳輸過程中偽造伺服器的證書,將伺服器的公鑰替換成自己的公鑰,這樣,中間人就可以得到明文傳輸帶key1、key2

和pre-master-key,從而竊取客戶端和服務端的通訊資料;

但是對於客戶端瀏覽器來說,如果中間人偽造了證書,在校驗證書過程中會提示證書錯誤,由使用者選擇繼續操作還是返回,

由於大多數使用者的安全意識不強,會選擇繼續操作,此時,中間人就可以獲取瀏覽器和伺服器之間的通訊資料

**:

參考:

中間人攻擊

正好在公司有機會玩玩內網滲透,於是實踐一下中間人攻擊 我所在的網段為10.0.100.0 24 攻擊者主機ip 10.0.100.133 受害者主機ip 10.0.100.136 閘道器 10.0.100.1 先用nmap掃瞄看看目前內網中在使用的主機ip 使用命令 nmap ss 10.0.100...

中間人攻擊

1.什麼是中間人攻擊 man in the middleattack 簡稱 mitm攻擊 通過各種技術手段將攻擊伺服器放置在兩台正常通訊的計算機之間。2.中間人攻擊的三種方式 1 dns欺騙 修改受害人計算機host,或者dns伺服器,控制路由器等方法,把受害人要訪問的網域名稱對應的ip解析為攻擊者...

中間人攻擊

前面的文章我們講到了rsa演算法以目前的手段是很難被攻破的,那麼使用rsa演算法是不是就一定安全了呢?答案當然是否,因為我們並沒有考慮到網路傳輸中的各種情況。本文會講一種攻擊叫做中間人攻擊,為了抵禦這種攻擊,我們引入證書的概念。我們會在後續的文章中講解證書的概念。這裡我們重點講一下中間人攻擊。所謂中...