Session劫持原理簡介

2021-08-31 02:28:48 字數 1954 閱讀 8768

[size=medium]session劫持是一種比較複雜的攻擊方法。大部分網際網路上的電腦多存在被攻擊的危險。這是一種劫持tcp協議的方法,所以幾乎所有的區域網,都存在被劫持

可能。兩台主機要想進行tcp通訊,必須經過乙個三次握手的過程。三次握手過程中服務端和客戶端一般會協商乙個序列號。這個序列號一般是乙個長整數。用來標記

每個資料報本來的順序。服務端或者客戶端使用這個序列號來重組在網路傳輸過程中亂序了的資料報。服務端和客戶端在三次握手過程中還會協商其他的內容

比如window

size用來通知對方自己可以快取多少個資料報,以防止某一方過快傳送資料報導致丟包。

下面簡述一下三次握手的過程:

假設a想要和b進行通訊。

a會先發給b乙個tcp資料報。這個資料報中的syn標誌被置位,因此又將這個資料報叫做syn資料報。在這個資料報中會包含a的window

size資訊,並且會包含乙個isn(initial sequence

number)號,就是初始序列號isna。好像最初的isn號碼固定從乙個數字開始,這樣更容易被人劫持,所以後來這個數字變為了乙個偽隨機數。這個值的取值範

是0到2^32-1。這個資料報中不帶負載資料。

b在收到syn資料報後會返回乙個syn+ack資料報,這個syn+ack資料報用來告訴a:

"我收到了你的syn資料報"。同時b會將a發過來的isna號,原封不動地插入這個ack資料報。並且將自己的isnb號碼放入這個ack資料報中返回給a。這個資料報

同樣不會帶任何的負載資料。

a收到b的ack資料報時,同樣會返回給b乙個ack資料報表示成功收到對方的資料報。同時a也會將b傳送來的isna資料+1,放入這個ack資料報返回給b。這個資料

包中可以攜帶負載資料,也可以不攜帶負載資料。(因為這時連線已經建立了)

通過上面的三次握手之後,乙個完整的tcp連線就建立好了。

之後的序列號都是主機收到的資料報中的序列號+收到包中的資料大小。第三次握手中,如果ack資料報中攜帶資料,那麼isna就不再是+1了。而是+資料大小。

session hiject

tcp協議在設計之初並沒有考慮太多安全的因素。session都是通過客戶端ip,客戶端port,服務端ip,服務端port來驗證的。

session劫持一般發生在a和b建立連線之後的通訊過程中。hacker一般會首先監聽網路上的通訊資料報。在某次通訊過程中,hacker在b傳送資訊給a之前,假冒

b發給a乙個資料報。這個資料報中使用b的ip和埠,並且將上次b收到的序列號+此資料報的資料大小作為序列號。在a收到這個資料報時,就會以為這個資料

是b發給他的。同時a會根據hacker發給他的資料報修改自己的序列號。如果真正的b嘗試傳送資料報給a時,a會因為序列號不正確拋棄這個資料報(這時因為b沒

有收到a的響應,所以會重發這個資料報,而這個資料報在傳送到a之後又被拋棄)從此hacker就可以代替b和a通訊了。

完成這個過程一般需要一下3個步驟:

1、監控,跟蹤某個session通訊過程。

2、破壞session同步通訊。

3、劫持這個session。

下面簡述一下實現以上三個步驟的過程。

1、通過簡單的sniff就可以監聽網路上的資料報。

2、要想破壞session同步,我們需要**資料報的序列號。如果我們有許可權訪問網路,那就可以sniff到網路通訊過程,並且從資料報中可以計算出下個序列號

。這就是本地session劫持。如果我們沒有許可權,不可以sniff到客戶端和服務端的通訊過程,那就比較麻煩了。**序列號是很不可能的,因為可選範圍太大

。(2^32中可能性)

在如法**序列號的時候,可以通過arp欺騙的方法對客戶端和服務端來個中間人攻擊。這樣就可以使兩者之間的通訊都在hacker的監控之下。

3、在上面兩個步驟完成之後,就只剩下重組資料報,並且傳送給通訊的某一端了。重組資料報有很多中方法和現成的工具。這裡就不說了。

有很多任務具可以用來做session劫持,有商業的,也有開源的[/size]

session劫持以及預防

session劫持是一種廣泛存在的比較嚴重的安全威脅,在session技術中,客戶端和服務端通過session的識別符號來維護會話,但這個識別符號很容易就能被嗅探到,從而被其他人利用.它是中間人攻擊的一種型別。本節將通過乙個例項來演示會話劫持,希望通過這個例項,能讓讀者更好地理解session的本質...

dns劫持簡介 https流量資料獲取原理

更多朋友所不知道的是,https加密請求也能嗅探到?什麼是https 之所以大家都認為不能嗅探https請求的原因是來自對加密ssl層的信任,那麼黑客是怎麼做到的嗅探https?簡單的說黑客為了繞過https,採用了ssl層剝離的技術,黑客阻止使用者和使用https請求的 之間建立ssl連線,使使用...

DLL劫持原理

系統有一套標準的搜尋dll路徑的規則,這套規則又分為兩種搜尋模式,安全搜尋模式,非安全搜尋模式。預設情況下啟用安全dll搜尋模式。要禁用此功能,需建立hkey local machine system currentcontrolset control session manager safedll...