CSRF là gì? “Kẻ mạo danh” nguy hiểm trên web 2025

  • Home
  • Blog
  • CSRF là gì? “Kẻ mạo danh” nguy hiểm trên web 2025
DateTh2 17, 2025

Rate this post

CSRF (Cross-Site Request Forgery) nổi lên như một “kẻ mạo danh” nguy hiểm, đe dọa trực tiếp đến người dùng và ứng dụng web. Bài viết này sẽ giúp bạn hiểu rõ hơn về CSRF, từ khái niệm cơ bản đến cách thức hoạt động, các loại tấn công, ứng dụng, công cụ, cách phòng tránh và bảo vệ.

CSRF là gì?

CSRF

CSRF là gì?

CSRF (Cross-Site Request Forgery) là một loại lỗ hổng bảo mật cho phép kẻ tấn công lợi dụng việc người dùng đã đăng nhập vào một trang web để thực hiện các hành động không mong muốn trên trang web đó mà họ không hề hay biết.

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

Kẻ tấn công tạo ra một yêu cầu HTTP (thường là một form HTML hoặc một đoạn mã JavaScript) và “lừa” người dùng truy cập vào yêu cầu này. Khi người dùng truy cập vào yêu cầu này, trình duyệt của họ sẽ tự động gửi yêu cầu HTTP đến trang web mục tiêu, và trang web mục tiêu sẽ thực hiện hành động được chỉ định trong yêu cầu HTTP mà không hề hay biết rằng yêu cầu này không phải do người dùng tạo ra.

Các loại tấn công CSRF

Có nhiều loại tấn công CSRF khác nhau, tùy thuộc vào cách thức kẻ tấn công “lừa” người dùng truy cập vào yêu cầu HTTP độc hại. Một số loại tấn công CSRF phổ biến bao gồm:

  • Tấn công CSRF bằng thẻ <img>: Kẻ tấn công tạo ra một thẻ <img> với thuộc tính src trỏ đến một yêu cầu HTTP độc hại. Khi người dùng truy cập vào trang web chứa thẻ <img> này, trình duyệt của họ sẽ tự động gửi yêu cầu HTTP đến trang web mục tiêu.
  • Tấn công CSRF bằng form HTML: Kẻ tấn công tạo ra một form HTML với thuộc tính action trỏ đến một yêu cầu HTTP độc hại. Khi người dùng truy cập vào trang web chứa form HTML này và nhấp vào nút “Submit”, trình duyệt của họ sẽ tự động gửi yêu cầu HTTP đến trang web mục tiêu.
  • Tấn công CSRF bằng JavaScript: Kẻ tấn công chèn một đoạn mã JavaScript độc hại vào trang web. Khi người dùng truy cập vào trang web này, trình duyệt của họ sẽ thực thi đoạn mã JavaScript này, và đoạn mã JavaScript này sẽ gửi yêu cầu HTTP độc hại đến trang web mục tiêu.

CSRF với các kỹ thuật tấn công khác

CSRF là một trong nhiều kỹ thuật tấn công web khác nhau. Nó khác với các kỹ thuật khác ở chỗ nó lợi dụng việc người dùng đã đăng nhập vào một trang web để thực hiện các hành động không mong muốn. Dưới đây là so sánh giữa CSRF và một số kỹ thuật tấn công phổ biến:

Kỹ thuật Mục đích Cách thức hoạt động Ưu điểm Nhược điểm
CSRF Thực hiện hành động thay mặt người dùng Lợi dụng việc người dùng đã đăng nhập Dễ thực hiện, khó phát hiện
Yêu cầu tương tác người dùng
XSS Chèn mã độc vào trang web Khai thác lỗ hổng trong ứng dụng web Linh hoạt, khả năng khai thác cao
Yêu cầu kiến thức, dễ bị phát hiện
SQL Injection Tấn công cơ sở dữ liệu Chèn mã SQL độc hại vào ứng dụng web Mất dữ liệu, kiểm soát hệ thống
Yêu cầu kiến thức về SQL
Phishing Lừa đảo, đánh cắp thông tin Gửi email hoặc tin nhắn giả mạo Dễ thực hiện, đánh lừa người dùng
Khó phát hiện nếu người dùng cảnh giác
Malware Phá hoại, đánh cắp dữ liệu Lây nhiễm virus, trojan vào hệ thống Gây ảnh hưởng nghiêm trọng
Khó phát hiện nếu không có bảo mật
DDoS Tấn công từ chối dịch vụ Làm quá tải hệ thống bằng lưu lượng truy cập lớn Gây gián đoạn hoạt động
Khó phòng chống tuyệt đối

Ví dụ minh họa

  • Một kẻ tấn công sử dụng CSRF để thay đổi mật khẩu của người dùng trên một trang web.
  • Một kẻ tấn công sử dụng CSRF để thực hiện giao dịch chuyển tiền từ tài khoản của người dùng sang tài khoản của kẻ tấn công.
  • Một kẻ tấn công sử dụng CSRF để đăng bài viết hoặc bình luận trên trang web thay mặt người dùng.

Ưu điểm và nhược điểm của tấn công CSRF

Ưu điểm

  • Dễ thực hiện: Tấn công CSRF tương đối dễ thực hiện, đặc biệt khi kẻ tấn công đã có kiến thức về cách thức hoạt động của ứng dụng web.
  • Khó phát hiện: Tấn công CSRF có thể khó phát hiện, đặc biệt khi kẻ tấn công sử dụng các kỹ thuật tinh vi để “lừa” người dùng truy cập vào yêu cầu HTTP độc hại.
  • Hiệu quả: Tấn công CSRF có thể rất hiệu quả, cho phép kẻ tấn công thực hiện các hành động không mong muốn trên trang web thay mặt người dùng.

Nhược điểm

  • Yêu cầu tương tác người dùng: Tấn công CSRF yêu cầu người dùng phải tương tác với yêu cầu HTTP độc hại (ví dụ: nhấp vào liên kết, tải hình ảnh, hoặc gửi form).
  • Khó thực hiện trên HTTPS: Việc sử dụng HTTPS giúp mã hóa dữ liệu được truyền giữa trình duyệt và máy chủ, làm cho việc thực hiện tấn công CSRF trở nên khó khăn hơn.
  • Có thể bị ngăn chặn bởi các biện pháp phòng ngừa: Các biện pháp phòng ngừa như token CSRF, kiểm tra HTTP Referer, và SameSite cookies có thể ngăn chặn tấn công CSRF.

Ví dụ minh họa

  • Ưu điểm: Một kẻ tấn công tạo ra một form HTML với thuộc tính action trỏ đến một yêu cầu HTTP độc hại để thay đổi mật khẩu của người dùng trên một trang web. Khi người dùng truy cập vào trang web chứa form HTML này và nhấp vào nút “Submit”, trình duyệt của họ sẽ tự động gửi yêu cầu HTTP đến trang web mục tiêu, và trang web mục tiêu sẽ thay đổi mật khẩu của người dùng mà không hề hay biết.
  • Nhược điểm: Một kẻ tấn công cố gắng thực hiện tấn công CSRF bằng cách sử dụng thẻ <img> với thuộc tính src trỏ đến một yêu cầu HTTP độc hại. Tuy nhiên, trang web mục tiêu đã được bảo vệ bằng token CSRF, khiến yêu cầu HTTP độc hại bị từ chối.

Ứng dụng của tấn công CSRF

Tấn công CSRF có thể được sử dụng cho nhiều mục đích khác nhau, bao gồm:

Thay đổi thông tin tài khoản: Kẻ tấn công có thể sử dụng CSRF để thay đổi thông tin tài khoản của người dùng, chẳng hạn như mật khẩu, địa chỉ email, hoặc số điện thoại.

  • Ví dụ: Kẻ tấn công tạo ra một form HTML với thuộc tính action trỏ đến trang web thay đổi mật khẩu của người dùng. Khi người dùng truy cập vào trang web chứa form HTML này và nhấp vào nút “Submit”, trình duyệt của họ sẽ tự động gửi yêu cầu HTTP đến trang web mục tiêu, và trang web mục tiêu sẽ thay đổi mật khẩu của người dùng mà không hề hay biết.

Thực hiện giao dịch tài chính: Kẻ tấn công có thể sử dụng CSRF để thực hiện các giao dịch tài chính thay mặt người dùng, chẳng hạn như chuyển tiền, mua hàng, hoặc thanh toán hóa đơn.

  • Ví dụ: Kẻ tấn công tạo ra một yêu cầu HTTP độc hại để chuyển tiền từ tài khoản của người dùng sang tài khoản của kẻ tấn công. Khi người dùng truy cập vào trang web chứa yêu cầu HTTP này, trình duyệt của họ sẽ tự động gửi yêu cầu HTTP đến trang web mục tiêu, và trang web mục tiêu sẽ thực hiện giao dịch chuyển tiền mà không hề hay biết.

Đăng bài viết hoặc bình luận: Kẻ tấn công có thể sử dụng CSRF để đăng bài viết hoặc bình luận trên trang web thay mặt người dùng.

  • Ví dụ: Kẻ tấn công tạo ra một form HTML với thuộc tính action trỏ đến trang web đăng bài viết hoặc bình luận. Khi người dùng truy cập vào trang web chứa form HTML này và nhấp vào nút “Submit”, trình duyệt của họ sẽ tự động gửi yêu cầu HTTP đến trang web mục tiêu, và trang web mục tiêu sẽ đăng bài viết hoặc bình luận thay mặt người dùng.

Thực hiện các hành động khác: Kẻ tấn công có thể sử dụng CSRF để thực hiện nhiều hành động khác trên trang web thay mặt người dùng, tùy thuộc vào chức năng của trang web.

  • Ví dụ: Kẻ tấn công có thể sử dụng CSRF để thay đổi cài đặt tài khoản, hủy đăng ký dịch vụ, hoặc thực hiện các hành động khác mà người dùng không hề hay biết.
CSRF

Ứng dụng của tấn công CSRF

Cách phòng tránh và bảo vệ khỏi tấn công CSRF

Bạn có thể “tự vệ” trước các cuộc tấn công CSRF bằng cách:

  • Kiểm tra kỹ liên kết: Không nhấp vào các liên kết đáng ngờ.
  • Đăng xuất: Luôn đăng xuất khỏi trang web khi không sử dụng.
  • Cập nhật trình duyệt: Luôn cập nhật trình duyệt web lên phiên bản mới nhất.
  • Phần mềm bảo mật: Sử dụng phần mềm bảo mật để phát hiện và ngăn chặn tấn công.

Câu hỏi thường gặp

Câu hỏi: CSRF có thể gây ra hậu quả gì?

Trả lời: Thay đổi thông tin, giao dịch tài chính, đăng bài, tiết lộ thông tin…

Câu hỏi: Làm sao để kiểm tra lỗ hổng ?

Trả lời: Phân tích mã nguồn, dùng công cụ, thử tấn công.

Câu hỏi: Làm sao để phòng tránh ?

Trả lời: Token CSRF, kiểm tra Referer, SameSite cookies, kiểm tra đầu vào, HTTPS.

Câu hỏi: Token CSRF là gì?

Trả lời: Chuỗi ký tự ngẫu nhiên để xác minh yêu cầu.

Câu hỏi: HTTP Referer là gì?

Trả lời: Header cho biết trang web gửi yêu cầu.

Câu hỏi: SameSite cookies là gì?

Trả lời: Thuộc tính cookie kiểm soát việc gửi cookie cho yêu cầu chéo nguồn.

Kết luận

CSRF (Cross-Site Request Forgery) là một lỗ hổng bảo mật nguy hiểm, có thể gây ra nhiều hậu quả nghiêm trọng cho người dùng và ứng dụng web. Việc hiểu rõ về CSRF, cách thức hoạt động, và đặc biệt là các biện pháp phòng tránh là vô cùng quan trọng để bảo vệ bạn khỏi các cuộc tấn công này.

Bài viết này đã cung cấp cho bạn cái nhìn tổng quan và chi tiết về CSRF, từ khái niệm cơ bản đến cách thức hoạt động, các loại tấn công, ứng dụng, công cụ, cách phòng tránh và bảo vệ, so sánh với các kỹ thuật tấn công khác và các câu hỏi thường gặp. Hy vọng rằng, với những kiến thức này, bạn sẽ có thể tự tin hơn trong việc bảo vệ thông tin cá nhân và dữ liệu trực tuyến của mình

Để lại một bình luận