PDA

View Full Version : Vấn đề với Session Cookie ?



thienthantudo
19-01-2011, 16:58
- Mình có một vấn đề khó hiểu thế này:
Có hai máy A và B .
-Máy A: mở FireFox , vào địa chỉ K có thực thi chế độ Session Cookie .
"Session Cookie được lưu trên máy Client ."
Máy A chưa tắt trình duyệt .Tiến hành coppy Session Cookie trên máy A .
-Máy B: Coppy cái Session Cookie hồi nãy vào trong nơi chứa Session Cookie của FireFox trên máy B.Mở FireFox lên sau đó truy cập vào địa chỉ K .

Vậy Máy B có thể truy cập vào nội dung như Máy A đang truy cập hay không ?

Bạn nào hiểu rõ vấn đề này xin chỉ giáo .

gycoder
19-01-2011, 17:33
Cookie có thể giả mạo được, còn session thì không. Khi bạn mở K trên A, máy chủ của K tạo 1 session SA, khi mở B, nó tạo 1 session khác là SB. 2 cái này đều do máy chủ quản lý.

Hiện nay hầu hết các trình duyệt đã hỗ trợ sessionStorage lưu tại client, có thể dùng nó thay cho cookie.

thienthantudo
19-01-2011, 23:09
Ngâm cứu cái này hay thật .
Vậy , chế độ Session ở các trang mua hàng Online .Các trang này tuy có Session khác nhau như lại truy cập cùng 1 nội dung như nhau .
Thường là kiểm tra user-agent nhưng trong trường hợp này họ giải quyết bảo mật thế nào vậy bạn ?

happyface
20-01-2011, 00:45
Ngâm cứu cái này hay thật .
Vậy , chế độ Session ở các trang mua hàng Online .Các trang này tuy có Session khác nhau như lại truy cập cùng 1 nội dung như nhau .
Thường là kiểm tra user-agent nhưng trong trường hợp này họ giải quyết bảo mật thế nào vậy bạn ?

cụ thể hơn tí cho dễ hiểu đi bạn!

VnVision
20-01-2011, 02:09
- Mình có một vấn đề khó hiểu thế này:
Có hai máy A và B .
-Máy A: mở FireFox , vào địa chỉ K có thực thi chế độ Session Cookie .
"Session Cookie được lưu trên máy Client ."
Máy A chưa tắt trình duyệt .Tiến hành coppy Session Cookie trên máy A .
-Máy B: Coppy cái Session Cookie hồi nãy vào trong nơi chứa Session Cookie của FireFox trên máy B.Mở FireFox lên sau đó truy cập vào địa chỉ K .

Vậy Máy B có thể truy cập vào nội dung như Máy A đang truy cập hay không ?

Bạn nào hiểu rõ vấn đề này xin chỉ giáo .

Hoàn toàn có thể!
Chẳng hạn nếu trang web mà 2 máy truy cập đó sử dụng PHP và dùng session trong php (ko thêm các biện pháp security khác) để manage session thì có thể xâm nhập vào session của người khác nếu biết session id của họ.


Cookie có thể giả mạo được, còn session thì không. Khi bạn mở K trên A, máy chủ của K tạo 1 session SA, khi mở B, nó tạo 1 session khác là SB. 2 cái này đều do máy chủ quản lý.

Hiện nay hầu hết các trình duyệt đã hỗ trợ sessionStorage lưu tại client, có thể dùng nó thay cho cookie.

Không có khái niệm giả mạo session, nhưng có khái niệm hijack session :) Khi request tới K trên B, và gửi kèm request đó session id của A, thì thay vì tạo một session mới, K sẽ tìm session có id đó (mặc định trong thư mục tmp), nếu thấy (tất nhiên là thấy trong trường hợp này) nó sẽ gán session đó (SA) cho B thay vì tạo một session mới SB.

Để hiểu rõ hơn về cơ chế php quản lý session, có thể xem ở đây:
http://shiflett.org/articles/the-truth-about-sessions

thienthantudo
21-01-2011, 02:27
Bài viết VnVision hay quá .
Thanks

gycoder
21-01-2011, 22:53
thank anh VnVision :)