Tuyển dụng
Viettel IDC

Clickjacking là gì? Cơ chế tấn công và cách phòng chống

28/08/2026

Clickjacking là một hình thức tấn công nhằm đánh lừa người dùng thực hiện thao tác trên một website mà họ không chủ định. Thay vì tấn công trực tiếp vào máy chủ, kẻ tấn công thường tạo một giao diện giả và đặt website mục tiêu vào bên trong một khung được che giấu. Để hiểu rõ hơn về Clickjacking là gì, cách thức hoạt động của hình thức này và những rủi ro cần tránh, hãy cùng Viettel IDC theo dõi bài viết dưới đây nhé. 

Clickjacking là gì? Cơ chế tấn công và cách phòng chống

Clickjacking là gì?

Clickjacking là kỹ thuật tấn công trong đó kẻ tấn công đánh lừa người dùng tương tác với một thành phần trên website mà họ không thực sự nhìn thấy hoặc không nhận thức được. Theo MDN, Clickjacking thường được thực hiện bằng cách nhúng website mục tiêu vào một iframe trên trang do kẻ tấn công kiểm soát, sau đó sắp xếp giao diện đánh lừa sao cho thao tác của người dùng được thực hiện trên website mục tiêu thay vì thành phần mà họ nghĩ mình đang tương tác.

Điểm quan trọng của Clickjacking nằm ở sự khác biệt giữa những gì người dùng nhìn thấy và hành động thực tế mà trình duyệt thực hiện. Người dùng có thể nhìn thấy một nút với nội dung hấp dẫn như xem video, nhận phần thưởng hoặc xác nhận một lựa chọn. Tuy nhiên, phía bên dưới có thể là một nút của website khác đã được đặt đúng vị trí. Khi người dùng nhấp chuột, trình duyệt có thể gửi thao tác đến website mục tiêu.

Clickjacking còn được gọi là UI Redress Attack, bởi kỹ thuật này khai thác chính giao diện của ứng dụng để đánh lừa người dùng. Thay vì cần chiếm quyền kiểm soát tài khoản hoặc sửa đổi trực tiếp website mục tiêu, kẻ tấn công tìm cách khiến người dùng tự thực hiện một hành động ngoài ý muốn.

Clickjacking hoạt động như thế nào? 

Clickjacking hoạt động bằng cách che giấu website mục tiêu phía sau một giao diện giả, khiến người dùng tưởng mình đang nhấp vào một nút nhưng thực tế thao tác lại được gửi đến một chức năng khác.

Quy trình thường diễn ra như sau:

Bước 1: Nhúng website mục tiêu

Kẻ tấn công đưa website mục tiêu vào một iframe trên trang web do mình kiểm soát.

Bước 2: Tạo giao diện đánh lừa

Một lớp giao diện khác được đặt phía trên iframe, chẳng hạn nút “Xem video”, “Nhận quà” hoặc “Xác nhận”.

Bước 3: Căn chỉnh vị trí thao tác

Nút giả được đặt trùng với vị trí của nút thật trên website mục tiêu. Người dùng chỉ nhìn thấy giao diện giả nên không nhận biết sự khác biệt.

Bước 4: Người dùng thực hiện thao tác

Khi người dùng nhấp vào nút giả, thao tác có thể được chuyển đến thành phần tương ứng của website mục tiêu.

Bước 5: Hệ thống xử lý yêu cầu

Nếu người dùng đang đăng nhập và tài khoản có quyền thực hiện chức năng đó, website mục tiêu có thể xử lý thao tác theo phiên đăng nhập hiện tại.

Như vậy, Clickjacking không nhất thiết phải đánh cắp mật khẩu. Kẻ tấn công chủ yếu lợi dụng giao diện và thao tác của người dùng để khiến họ thực hiện một hành động ngoài ý muốn.

Các hình thức tấn công Clickjacking phổ biến

Clickjacking có thể được triển khai theo nhiều cách khác nhau tùy vào chức năng mà kẻ tấn công muốn khai thác. Điểm chung vẫn là làm sai lệch nhận thức của người dùng về thành phần mà họ đang tương tác.

Likejacking

Likejacking là biến thể Clickjacking trong đó kẻ tấn công tìm cách khiến người dùng thực hiện hành động Like hoặc tương tác tương tự trên một nền tảng trực tuyến mà họ không chủ định. OWASP từng ghi nhận các cuộc tấn công Clickjacking lợi dụng chức năng Like của Facebook để khiến người dùng đã đăng nhập Like fan page, liên kết hoặc nhóm theo ý muốn của kẻ tấn công.

Về cách thức, Likejacking vẫn dựa trên nguyên lý tạo giao diện đánh lừa và đặt thành phần tương tác thật ở vị trí mà người dùng không nhận biết. Người dùng có thể nghĩ rằng mình đang nhấn vào một nội dung thông thường nhưng thao tác thực tế lại tác động đến nút Like của nền tảng được nhúng.

Mức độ nguy hiểm của Likejacking phụ thuộc vào chức năng bị lợi dụng và cách kẻ tấn công sử dụng kết quả. Một hành động Like đơn lẻ có thể không gây thiệt hại trực tiếp về tài chính, nhưng nó có thể được sử dụng để phát tán nội dung, tăng tương tác giả hoặc kết hợp với những kỹ thuật social engineering khác.

Cursorjacking

Cursorjacking là kỹ thuật đánh lừa người dùng về vị trí thực tế của con trỏ chuột hoặc vị trí mà thao tác của họ sẽ tác động. Mục tiêu là tạo ra sự chênh lệch giữa vị trí con trỏ mà người dùng nhận thức và vị trí tương tác thực tế trên giao diện.

Cursorjacking cho thấy Clickjacking không chỉ giới hạn ở việc đặt một iframe trong suốt dưới giao diện giả. Các kỹ thuật thao túng nhận thức về vị trí tương tác cũng có thể được sử dụng để khiến người dùng thực hiện hành động ngoài ý muốn.

Clickjacking kết hợp với Social Engineering

Clickjacking trở nên nguy hiểm hơn khi kết hợp với Social Engineering. Thay vì chỉ dựa vào việc người dùng nhìn nhầm giao diện, kẻ tấn công có thể tạo ra một câu chuyện hoặc tình huống đủ thuyết phục để khiến nạn nhân chủ động nhấp vào thành phần được chuẩn bị sẵn. Trang web có thể được thiết kế giống một chương trình khuyến mại, một trò chơi, một cuộc khảo sát hoặc một thông báo dịch vụ. Người dùng được khuyến khích thực hiện một thao tác đơn giản, trong khi phía dưới giao diện có thể chứa thành phần của website mục tiêu.

Social Engineering đóng vai trò tạo động lực cho hành động, còn Clickjacking đóng vai trò đánh lừa vị trí hoặc chức năng của thao tác. Hai kỹ thuật này khi kết hợp có thể làm tăng khả năng thành công vì người dùng không chỉ bị đánh lừa về giao diện mà còn bị thúc đẩy thực hiện hành động.

Các hình thức tấn công Clickjacking phổ biến

Cách phòng chống Clickjacking cho website

Biện pháp quan trọng nhất để phòng chống Clickjacking là kiểm soát việc website có được phép nhúng trong frame hoặc iframe hay không. Clickjacking thường phụ thuộc vào việc website mục tiêu có thể được tải trong một frame trên trang của kẻ tấn công. Nếu khả năng framing được hạn chế, một điều kiện quan trọng của cuộc tấn công sẽ bị loại bỏ.

Sử dụng CSP với frame-ancestors

Content Security Policy với chỉ thị frame-ancestors là cơ chế hiện đại để kiểm soát những website nào được phép nhúng nội dung của ứng dụng. Website có thể sử dụng frame-ancestors để cấm hoàn toàn việc nhúng hoặc chỉ cho phép một số nguồn đáng tin cậy.

Nếu website không cần được nhúng trong bất kỳ frame nào, chính sách có thể sử dụng giá trị none. Nếu chỉ cho phép chính website nhúng nội dung, có thể sử dụng self. Trường hợp ứng dụng cần được nhúng bởi một số hệ thống cụ thể, chính sách có thể khai báo những nguồn được phép. OWASP và MDN đều xác định frame-ancestors là cơ chế quan trọng để bảo vệ khỏi các cuộc tấn công framing như Clickjacking.

Thiết lập X-Frame-Options

X-Frame-Options là một HTTP response header được sử dụng để kiểm soát việc trình duyệt có cho phép trang được hiển thị trong frame, iframe, embed hoặc object hay không. Hai giá trị phổ biến là DENY và SAMEORIGIN. DENY ngăn trang được nhúng trong frame, trong khi SAMEORIGIN chỉ cho phép các frame có cùng origin.

Trong thực tế, doanh nghiệp có thể thiết lập cả frame-ancestors và X-Frame-Options để tăng khả năng tương thích với các trình duyệt cũ. Với những trình duyệt hỗ trợ frame-ancestors, chính sách CSP sẽ được ưu tiên theo cơ chế hiện hành.

Cấu hình SameSite Cookie

SameSite Cookie là một lớp bảo vệ bổ sung nhằm hạn chế việc cookie phiên được gửi trong một số ngữ cảnh cross-site. MDN khuyến nghị thiết lập SameSite cho cookie phiên ở mức Lax hoặc Strict nếu phù hợp với yêu cầu của ứng dụng. Cơ chế này không thay thế cho việc hạn chế framing. Đây là một biện pháp giảm thiểu bổ sung vì nếu trang mục tiêu được tải trong một iframe từ website khác và cookie phiên không được gửi, máy chủ có thể không nhận diện yêu cầu là đến từ một phiên đăng nhập hợp lệ.

Kiểm soát các website được phép nhúng

Không phải mọi ứng dụng đều có thể cấm iframe hoàn toàn. Một số hệ thống cần được nhúng vào cổng thông tin nội bộ, nền tảng đối tác hoặc các dịch vụ khác. Trong trường hợp đó, thay vì cấm toàn bộ, doanh nghiệp nên xác định chính xác những nguồn nào thực sự cần quyền nhúng.

Bổ sung cơ chế bảo vệ ở tầng giao diện

OWASP cũng đề cập đến defensive code ở giao diện như một lớp bảo vệ bổ sung nhằm kiểm tra ngữ cảnh frame của trang. Tuy nhiên, cơ chế này không nên được xem là biện pháp duy nhất vì các kỹ thuật JavaScript frame-busting có thể gặp hạn chế trong một số tình huống. Doanh nghiệp nên ưu tiên các cơ chế kiểm soát ở tầng HTTP như CSP frame-ancestors và X-Frame-Options, sau đó kết hợp SameSite Cookie cùng các biện pháp bảo vệ giao diện khi phù hợp.

Xây dựng cơ chế phòng thủ nhiều lớp

Không nên kỳ vọng một header duy nhất có thể giải quyết toàn bộ vấn đề Clickjacking. OWASP khuyến nghị kết hợp nhiều cơ chế độc lập để tạo defense in depth, trong đó bao gồm hạn chế framing, kiểm soát cookie phiên và cơ chế bảo vệ ở phía giao diện.

Bên cạnh cấu hình bảo mật, doanh nghiệp cũng cần kiểm tra những chức năng nhạy cảm của ứng dụng. Những thao tác quan trọng nên có giao diện rõ ràng, thông báo xác nhận phù hợp và cơ chế giảm nguy cơ người dùng vô tình thực hiện hành động.

Kết luận

Clickjacking có thể biến một thao tác quen thuộc của người dùng thành hành động ngoài ý muốn, từ đó gây rủi ro cho tài khoản và các chức năng quan trọng trên website. Vì vậy, doanh nghiệp cần chủ động kiểm soát khả năng nhúng trang và bảo vệ phiên đăng nhập chặt chẽ để giảm thiểu nguy cơ bị lợi dụng khi triển khai ứng dụng web. Việc tìm hiểu Clickjacking là gì và những thông tin về hình thức này sẽ giúp doanh nghiệp xây dựng chiến lược bảo mật phù hợp hơn.

Để tìm hiểu thêm về dịch vụ, vui lòng liên hệ đến Viettel IDC:

- Hotline: 1800.8088 (miễn phí cước gọi)

- Fanpage: https://www.facebook.com/viettelidc

- Website: https://viettelidc.com.vn/

Viettel IDC - Nhà cung cấp dẫn đầu về giải pháp Trung tâm dữ liệu và Điện toán đám mây tại Việt Nam

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

05/11/2026

Lỗi msvcr100.dll là gì? Hướng dẫn cách sửa lỗi msvcr100 dll nhanh chóng

Lỗi msvcr100.dll khiến phần mềm không khởi chạy trên Windows. Xem hướng dẫn khắc phục từng bước để bổ sung thư viện còn thiếu và sửa chữa chương trình bị lỗi.

05/11/2026

Top 20 các extension visual studio code hữu ích cho lập trình viên

Các extension Visual Studio Code hữu ích mở rộng khả năng của trình soạn thảo, giúp lập trình viên tối ưu môi trường làm việc và nâng cao hiệu quả viết mã.

05/11/2026

Bridge là gì? Cách hoạt động và ứng dụng trong mạng LAN

Bridge là gì? Cầu nối mạng hoạt động dựa trên địa chỉ MAC để kết nối các phân đoạn LAN, kiểm soát luồng dữ liệu và hỗ trợ triển khai mạng vật lý lẫn mạng ảo.

05/11/2026

Lỗi Blocked due to other 4xx issue là gì? Nguyên nhân và cách fix lỗi

Lỗi Blocked due to other 4xx issue khiến Google không lập chỉ mục URL, cần xác định đúng mã HTTP và nguyên nhân để khắc phục hiệu quả trong Search Console.

05/11/2026

Test case là gì? Cách viết test case và mẫu minh họa cho người mới

Test case là gì và làm sao để viết rõ ràng, đúng yêu cầu? Nắm vững cách xây dựng trường hợp kiểm thử qua ví dụ cụ thể để phát hiện sai lệch trong hoạt động phần mềm.

05/11/2026

AI Inference là gì? Cơ chế và vai trò trong vận hành AI

AI inference là gì? Cách mô hình AI tạo kết quả sau huấn luyện, phân biệt với AI training, các hình thức triển khai và ứng dụng thực tế trong doanh nghiệp.

05/11/2026

DBeaver là gì? Hướng dẫn cài đặt và kết nối cơ sở dữ liệu với DBeaver

DBeaver là gì? Khám phá tính năng quản lý cơ sở dữ liệu, các phiên bản miễn phí và trả phí cùng hướng dẫn cài đặt, kết nối, chạy truy vấn SQL cho người mới.

05/11/2026

Cách thay đổi mật khẩu máy tính trên Windows 10, 11 đơn giản

Cách thay đổi mật khẩu máy tính trên Windows 10, 11 qua Settings, Control Panel, CMD và các công cụ quản trị được hướng dẫn chi tiết theo từng bước dễ thực hiện.

05/11/2026

Microsoft Management Console là gì? Cách sử dụng MMC cho người mới

Microsoft Management Console là gì? Đây là nền tảng tập hợp các công cụ quản trị Windows, hỗ trợ quản lý hệ thống, thêm snap-in và lưu console theo nhu cầu sử dụng.

05/11/2026

Rủi ro khi sử dụng giả lập online và cách phòng tránh

Rủi ro khi sử dụng giả lập online có thể gây lộ dữ liệu, mất quyền kiểm soát tài khoản, lừa đảo trực tuyến, vi phạm chính sách game, gián đoạn thao tác và phát sinh chi phí.