眾所周知,客戶端使用Cookies來保存用戶數據的,服務端用Session來保存用戶數據~
Cookies的設計應該比較簡單,只要根據所在域來保存和讀去用戶數據,所以Cookies的安全性不高,不建議使用Cookies保存用戶重要數據,即使進行了加密~
服務端用Session保存用戶數據,但服務器怎麼識別客戶端的呢?
當調用session_start()之後,服務器會在客戶端保存一個唯一標示PHPSESSID:
服務器利用PHPSESSID來識別客戶端~
如果獲取到用戶的PHPSESSID,是否可以偽造登陸狀態呢?
下面來做一個實驗:
1.用Chrome打開一個網站並用yearnfar這個賬號登陸:
2.用firefox打開這個網站並用huaping這個賬號登陸:
3.復制chrome下面的PHPSESSID,將它替換firefox下面的PHPSESSID:
4.保存後刷新界面,發現登陸的賬號變成了yearnfar這個賬號...
由此可以下一個結論,獲得PHPSESSID可以偽造用戶的登陸狀態。。。
但是我用OSC來做實驗就同時偽造了_reg_key_和oscid卻沒有達到預期~
什麼原因呢?
應該是oscid裡面包含了浏覽器的信息~
那我寫一個腳本試試~