Kaito KID
VIP Members
-
02/07/2013
-
23
-
41 bài viết
Web14: 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.
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.
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:
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.
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.
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ỉnh sửa lần cuối bởi người điều hành: