SESSION FIXATION LÀ GÌ

Cách thức hoạt động

Việc giải pháp xử lý session IDs không an ninh có thể khiến cho người dùng bị tấn công. Websites với tài khoản người dùng thông thường xúc tiến cơ chế chuẩn xác để định danh người dùng và trả về cho những người dùng. Sau khi xác thực, session sẽ tiến hành tạo. Server và browser sẽ hiều với nhau session ID, vậy phải server sẽ tách biệt được người tiêu dùng với mỗi HTTP request. Trường hợp như hacker có thể truy cập tới session ID của người tiêu dùng khác, họ có thể mạo danh người dùng khác. SESSION FIXATION là một trong những phương thức tấn công mà hacker sử dụng để làm điều đó.

Bạn đang xem: Session fixation là gì

Trong bài viết này, Mal đã chỉ cho mình cách thức hoạt động vui chơi của lỗ hổng này, trường hợp như bạn không biết về nhân đồ vật này thì có thể tìm hiểu trong series của mình. đưa sử website của người sử dụng passes session ID trong query string (chắc cũng hiếm bạn làm vậy :v). Mal chế ra URL tất cả chưa session ID : www.hmstr.com?jsessionid=STEALING_UR_DATA.

Vic là một người dùng trong hệ thống của bạn, anh ta siêu thích loài chuột hamster, và cũng giả sử Mal biết được email của bạn, hay những đoán được. Hắn gửi mang lại Vic một e-mail với con đường link cuốn hút về chuột hamster, trỏ tới băng thông đã được hắn craft

*

Vic click vào mặt đường dẫn, đưa sử anh ta không login, trang của bạn sẽ chuyển hướng về trang đăng nhập. Nó đang accepts session ID trước kia được sửa đổi bởi Mal trên URL. Khi Vic singin thành công, session được establish, với anh ta hoàn toàn có thể enjoy bức hình ảnh gif về loài chuột hamster:

*

Tuy nhiên, hiện thời Mal hoàn toàn có thể truy cập theo đường dẫn mà hắn đã gửi đến Vic, với hắn cũng hoàn toàn có thể truy cập với session của Vic, có nghĩa là hắn sẽ đăng nhập với tài khoản của Vic.

Bảo vệ

Nhìn bình thường thì nó cũng hiếm gặp, dễ khai quật và hết sức nguy hiểm.

Với kiểu tiến công này, hacker có thể bypass phương thức bảo đảm của bạn, cùng tệ hơn là chúng ta khó rất có thể phát hiện nay khi nó xảy ra. Tất cả vài cách chống lỗ hổng này như sau.

Xem thêm: Làm Thế Nào Để Con Trai Yêu Mình Hơn Và Quan Tâm Hơn, Cách Để Khiến Bạn Trai Yêu Mình (Kèm Ảnh)

không truyền Session ID trong đổi thay GET/POST

Truyền session ID trong query strings, hoặc trong toàn thân của POST request chính là vấn đề. Dường như session ID hoàn toàn có thể bị thất thoát theo các cách sau:

Nếu người dùng follows link bên ngoài (Referer header sẽ miêu tả trình duyệt đến từ đâu).Trong lịch sử vẻ vang duyệt web với bookmarks.trong log trên server với bất ky proxy vps nào.

Tốt rộng là truyền vào HTTP cookie, chẳng hạn như với PHP thì bạn cũng có thể dùng session_regenerate_id(true)

Tạo lại session ID khi xác thực

Do đã bị tạo lại cần session ID cơ mà Mal tạo thành ra đã mất trùng khớp nữa

chỉ đồng ý tạo session ID nghỉ ngơi phía server

Nó là practive tốt để chắc chắn chỉ server bắt đầu được phép chế tạo session ID.

Đặt Timeout và thay thế session ID cũ

Reset session ID chu trình sẽ làm bớt rủi vì gây lỗi này.

triển khai logout function đủ mạnh

Hàm logout nên ghi lại session ID đã không còn hạn.

Yêu ước Session mới khi truy cập từ Referrers đáng ngờ

Xem xét bài toán login lại trường hợp nó truy cập từ mối cung cấp khác.

Tổng kết

Vừa rồi là phương pháp thức bảo đảm an toàn và và bí quyết thức hoạt động của lỗ hổng Session Fixation, hi vọng sẽ bổ ích cho bạn. Happy coding !

*