CSRF (Cross Site Request Forgery) là kĩ thuật tấn công bằng cách sử dụng quyền chứng thực của người sử dụng đối với 1 website khác. Các ứng dụng web hoạt động theo cơ chế nhận các câu lệnh HTTP từ người sử dụng, sau đó thực thi các câu lệnh này. Hacker sử dụng phương pháp CSRF để lừa trình duyệt của người dùng gửi đi các câu lệnh http đến các ứng dụng web. Trong trường hợp phiên làm việc của người dùng chưa hết hiệu lực thì các câu lệnh trên sẽ được thực hiện với quyền đã chứng thực của người sử dụng.
Đọc thêm về CSRF:
Lỗ hổng bảo mật CSRF trên trang RapperVN.Net
Vào chiều ngày hôm qua (28/10/2014), nhóm bảo mật J2TeaM đã phát hiện và gửi cảnh báo về lỗ hổng bảo mật CSRF được phát hiện trên trang cá nhân của thành viên tại địa chỉ URL có dạng: USER_ID.html Với lỗ hổng CSRF, kẻ tấn công có thể dụ nạn nhân (1 thành viên bất kỳ đang đăng nhập) nhấn vào 1 liên kết chứa URL thực hiện truy vấn gửi một thông điệp bất kỳ lên trang cá nhân của thành viên khác hoặc chính họ.
Mức độ khai thác
Hãy xem xét một kịch bản tấn công như sau:
- Kẻ tấn công tạo ra 1 tập tin HTML và chèn Iframe (ẩn) dẫn tới URL truy vấn với tham số nội dung chính là liên kết dẫn tới tập tin HTML này.
- Kẻ tấn công tải tập tin HTML lên một máy chủ sau đó chép liên kết và gửi lên Chatbox tại trang chủ RapperVN.net
- Các thành viên khác nếu nhấn vào liên kết sẽ đăng lại liên kết đó lên trang cá nhân của các thành viên khác.
Chắc hẳn bạn thấy kịch bản này rất giống các mẫu script độc hại trên Facebook đúng không? (Tự động gửi liên kết độc hại tới danh sách bạn bè).
Proof of Concept (PoC)
Đây là video mô phỏng lại quá trình khai thác lỗ hổng CSRF trên RapperVN.Net Lỗ hổng đã được cảnh báo tới quản trị viên của RapperVN.net và đã được khắc phục. Trước đó, J2TeaM cũng từng cảnh báo 2 lỗ hổng là XSS và LFI cho quản trị của RapperVN.net. (Bài viết này được chia sẻ trên SecurityDaily như tài liệu tham khảo về lỗ hổng bảo mật CSRF).