Web13: Kỹ thuật hack Session Hijacking

1. Nguyên nhân

Sau mỗi lần user đăng nhập thành công thì session sẽ được định nghĩa lại và có một session ID mới. Nếu attacker biết được Session ID mới này thì attacker có thể truy cập vào ứng dụng như một user bình thường. Có rất nhiều cách để attacker có thể lấy được session ID và chiếm phiên làm việc của user như: Tấn công theo kiểu man-in-the-middle: nghe lén và cướp Session ID của user. Hoặc tận dụng lỗi XSS trong lập trình để để lấy Session ID của người sử dụng.

2. Các cách khai thác

Session Sniffing

Như chúng ta thấy trong hình, đầu tiên, attacker sẽ sử dụng một công cụ sniffer để bắt session ID hợp lệ của nạn nhân, sau đó anh ta dùng session ID này để làm việc với Web Server dưới quyền của nạn nhân.

Session Sniffing

Cross-site script attack

Attacker có thể lấy session ID của nạn nhân bằng các đoạn mã độc hại chạy ở phía client, chẳng hạn JavaScript. Nếu một website tồn tại lỗ hổng XSS, attacker có thể tạo ra một đường link chứa mã JavaScript độc hại, gửi cho nạn nhân. Nếu nạn nhân click vào đường link này, cookie của anh ta sẽ bị gửi đến cho attacker.

Cross-site script attack

3. Cách phòng chống

Một số phương pháp sau có thể được sử dụng để phòng chống Session Hijacking:

  • Sử dụng HTTPS trong việc truyền nhận dữ liệu để tránh bị nghe lén.
  • Sử dụng một chuỗi hoặc số ngẫu nhiên có độ dài lớn, nhằm hạn chế khả năng thành công của loại tấn công bruteforce.
  • Tạo lại session ID sau mỗi lần người dùng đăng nhập thành công, nhằm tránh tấn công Session Fixation.

Chúc các bạn có được nhiều kiến thức hơn sau mỗi bài học cùng Quản Trị Mạng!

Thứ Tư, 13/07/2022 10:55
52 👨 610
0 Bình luận
Sắp xếp theo