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

牟平小夥最迷人


如果能拿到別人的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,憑什麼就拿不到你的token?


汛1


不行,淘寶的cookie的生命週期只是一次會話而已,關閉瀏覽器就失去作用了。但是據我研究,淘寶應該有兩個cookie,一個是還沒登錄用的,這個拿到了也沒用。一個是登錄後用的,到這個是前面說的那樣,拿到了也沒用。即使你拿到之後,趁人家還沒下線,你馬上用這個cookie來登入淘寶,淘寶後臺還有ip檢測機制。但是,如果在同一個局域網內,估計有戲。


時代霧評


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

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

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

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


microkof


就這個問題,理解了http協議就知道了。本題按常識來說就不可能會冒充用戶,那麼大的平臺怎麼可能安全度那麼低。

脫離常識,好好掰扯掰扯http協議才有意思。http的下層是tcp協議,tcp協議是面向連接的。http實現的時候,服務器在對客戶端請求做出響應後,會主動斷開連接,所以一個http請求是tcp連接到斷開的一套操作。所以每次http請求都是無狀態,獨立的,互不聯繫的,也就是上次請求和下次請求沒任何關係。為了讓http請求間產生聯繫,於是就有了會話和cookie。那麼會話和cookie到底是什麼?你甚至可以把他倆理解成是一個東西。

http協議的一個請求由請求行、請求頭和請求數據組成,這個知識點可以自己百度。cookie其實就是請求頭中的一個,它其實就是個字符串,這個字符串保存著session的唯一標識或者服務器想讓保存的信息。那麼這倆東西是咋用的,又是如何讓多個請求聯繫到一起的呢?

當你使用瀏覽器第一次訪問某個網站的時候,http請求是不帶cookie的,如果服務器使用了session或者cookie,就會在http響應中的響應頭中帶上cookie返回給瀏覽器。http響應和請求差不多,可以自行百度。瀏覽器收到cookie就會保存起來,同時,服務器也會把session保存起來,保存的形式可能是個文件,也可能是文件中的字符串,也可能是數據庫中的一個記錄等等。前面說過,cookie中保存著session的唯一標識,這樣當瀏覽器再次請求的時候,會帶上cookie,服務器就會知道請求的是那個session,這樣,相互獨立的http請求就產生了聯繫!

題目可能沒這麼複雜,也沒提到session,所以就更簡單了!cookie如果不保存session的唯一標識,那可能會保存用戶的賬號和密碼。如果服務器不做任何安全驗證,那麼肯定可以冒充用戶。這和普通的用戶登錄沒啥區別!

但是就常識而言,淘寶網站不可能不做任何的安全驗證,具體如何驗證的我也不知道,有可能通過ip,有可能在cookie的基礎上加個token或者其他什麼的請求頭!


龍三郎9102


大家都知道,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依舊是無法驗證通過的。


網絡圈


我覺得小網站可能會存在類似的漏洞,對於阿里來說,個人信息驗證不可能僅僅只有一個cookies,服務器端的session,網關加驗證碼那肯定也是必備,所以樓主還是洗洗睡吧


宜興淘淘242


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


半寸灰1


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


肥胖西瓜


假如你可以偽造完全相同的報文是可以的,但問題是您頂多可以加入購物車,評價,要付錢還需要更高級的驗證。也就是給你用你也用不了,頂多就是超市裡面你偷了張別人的購物車,你可以拿出來裡面的東西,你也可以放滿掉,但是你沒法結賬買出東西來。


鞠躬車馬前


阿里沒那麼傻,一看你地域,ip,設備等不對就要你安全驗證


分享到:


相關文章: