假設我拿到了別的用戶的淘寶網站的cookie,我放到自己的http請求裡,我就可以冒充這個用戶嗎?

牟平小夥最迷人


大家都知道,Cookie是會話保持技術方案的一種,從理論上說拿到了Cookie是可以冒充用戶的。下面具體分析下:

Cookie的機制原理

我們知道HTTP協議本身就是無狀態的,服務器端默認情況下是無法分辨用戶的,這樣顯然是不合理的,所以我們需要給每個訪客加上一個“標識口令”。當分配了標識口令給客戶端後,客戶端瀏覽器後續發起的請求都會把這個“標識口令”附帶在請求頭參數裡,這樣服務器端就能分辨哪些請求是同一個用戶了。

這個“標識口令”由服務器端生成,放置在客戶端瀏覽器Cookie中,而服務器端對應會有一個Session,這個Session的唯一標識(SessionID)也是存儲在Cookie中。

篡改Cookie可以冒用請求

上面講到了,服務器端的SessionID是存儲在客戶端Cookie中的,這樣一來其它用戶一旦拿到Cookie中的SessionID後,是可以冒充原始用戶發起請求的。

這看上去是不合理的!

但是,Cookie和Session的機制如此。我們說Cookie禁用後Session可能不能正常使用,但是我們可以將SessionID以GET方式傳遞給服務器端,所以SessionID如果明文傳輸就存在安全隱患。

拿到了淘寶的Cookie是無法冒充用戶的

正因為Cookie是存儲在客戶端且不安全的,所以我們將用戶數據存儲在Cookie中時都會對數據進行加密。比如會驗證用戶的IP、終端特徵標識等。即使其他用戶偽造了Cookie依舊是無法驗證通過的。


網絡圈


如果能拿到別人的cookie是可以冒充別人的。首先要清楚,cookie存儲於客戶端,session存儲於服務器端,而http請求是無狀態的。因此服務器要識別某人通常都是用session完成,而session是依賴於cookie的。瀏覽器在每次發送請求時,會帶上cookie 而cookie會自動帶上session id,這樣服務器就知道這個請求是基於那個session的,也就知道了是誰。

然而有些特殊情況,比如客戶端禁用了cookie,如果要保持用戶登錄的狀態可以在發送請求時,在請求的參數裡帶上session id,服務器也是可以知道用戶是誰,但現在討論的是有cookie的情況,順帶說一下這個問題。

所以在cookie冒充這個問題上服務器的防範措施比較有限,比如當用戶重新登錄,將之前的session作廢,同一用戶只能有一個session。保證用戶賬戶同一時間只能有一個設備登錄。另外,某些關鍵性的問題上用戶要輸入登錄密碼,或者使用手機驗證碼,以驗證身份。比如修改密碼,支付時。防範cookie冒充,更多還是需要用戶多注意網絡安全,比如安裝防病毒軟件,定時查殺病毒等等。

前面看到有的說驗證IP,這個基本是行不通的,現在多數APP或瀏覽器因為用戶體驗問題都需要保證用戶長時間登錄,而網絡的不穩定會導致設備時常斷網,重新連接網絡後IP就會改變。從而會導致用戶需要重新登錄(這句是後加的)。所以驗證IP是行不通的。

還有就是有人說cookie帶tooken也是行不通的,都能拿到你的cookie,憑什麼就拿不到你的tooken?


汛1


僅僅cookie是不行,一般都有設備驗證,所以也要帶上設備IMEI uuid之類。同時還有人機校驗,比如我1分鐘提交60次訂單,系統就有可能讓你 進行人機認證,讓你滑動拼圖之類。一般來說客戶端都是token之類,這類是有有效期的,你之所以感受不到要重新獲取token,是因為在token的有效期快過前你使用了客服端,服務端發現設備沒有異常就給你生了新的 替換了舊的。這個過程用戶是無感知的。所以僅僅cookie是不夠的,僅僅token也是不夠的。要充分考慮各種機制,一一破解。


半寸灰1


就只說結論吧,別的不多說了。

將別人的cookie放到請求裡發給服務器,是可以冒充的,不過僅限於2000年之前的服務器安全技術條件下。(這裡說的2000年只是大概時間,表示比較遠古的時代)。

你不要覺得奇怪,上網經歷早的人都知道天涯社區,最早的時候有時候你切換賬號登錄,都會把帖子發到之前賬號去,就是因為切換賬號對cookie的處理不到位,驗證機制也太少。

現在是絕對沒可能了,因為cookie只會保存一些非核心的信息,現在主要是cookie加session加token聯合驗證身份,就算你自己正常瀏覽淘寶,你每次發的cookie都是不同的,你複製一份有用嗎?


microkof


session值是不會放在cookie裡的吧,否則session就和cookie變成一個東西了,確實,cookie是存在客戶端的,不太安全,所以我們需要引入session,但從根本來說,用cookie卻實會引發安全問題,只有單純使用session,才能避免安全問題,但這需要每次用戶登陸手動輸入用戶名密碼,這樣用戶體驗很不好


肥胖西瓜


不僅是淘寶做不到,現在大多數網站都做不到,當然除了那些不注意安全的小網站。我寫過類似的淘寶提交程序,在本機獲取到的cookie在本機提交是沒問題的。難點在於你怎麼獲取。


噼裡啪啦大蟲子


如果是想xss的話 一個httponly就能堵上9成 當然有些容器有bug可能會洩露 比如apache的溢出


2168739224


現在都加入了token,每次請求的cookie是不一樣的


£Prehistorical powers€


不能,阿里的技術很強的,用戶核心數據是加密的,你破不了。除非你的技術更強。不過你能問這樣的問題,說明你現在的技術實力還需要多多努力提高。


分享到:


相關文章: