工作4年了,也算高級程序員了。不過有一點一直不好意思說。我不會開發(fā)登錄相關的。對于Session和Cookie其實一直是半知不解的。更不用提COOKIE欺騙了。昨晚惡補了下這方面知識。
Session,通常服務端使用方式Session["uid"]獲取到的值就是你的用戶名。A與B訪問該頁面,服務器返回Session["uid"]的值不同。為什么?是通過Cookie值有個ASP.NET_SessionId的Cookie變量。但用戶登入后,服務器給每個訪問者分配的該值不同。那么通過這個唯一值就可以獲取Session["uid"]的值。如下圖
那么好,看圖說話。很清楚,傳給服務器的sessionID不同,那么服務器就會認為你是另一個人。如何偽裝成另一個人呢?如果修改自己Cookie的ASP.NET_SessionId呢?我是同時用FireFox和IE同時登入一個需要登錄的網頁。然后FIREFOX安裝Web Develop插件,IE安裝了HttpWatch。 這樣從IE的HttpWatch中查看Cookie。將ASP.NET_SessionId的值復制。然后在FireFox中的Web Develop下修改當前ASP.NET_SessionId的值。粘帖剛才復制的。然后再點擊Firefox中的頁面就會發(fā)現(xiàn)登入人已經更換為IE中登入的那個賬號了。
聯(lián)系客服