Reverse tabnabbing là một cuộc tấn công trong đó một trang được liên kết từ trang đích có thể viết lại trang đó, chẳng hạn như để thay thế nó bằng một trang lừa đảo. Vì ban đầu người dùng đã vào đúng trang nên họ ít có khả năng nhận thấy rằng trang đó đã bị thay đổi thành trang lừa đảo, đặc biệt nếu trang đó trông giống với trang mục tiêu. Nếu người dùng xác thực đến trang mới này thì thông tin đăng nhập của họ (hoặc dữ liệu nhạy cảm khác) sẽ được gửi đến trang web lừa đảo chứ không phải trang hợp pháp.
Các bài viết liên quan:
Cũng như việc trang web đích có thể ghi đè lên trang đích, bất kỳ liên kết http nào cũng có thể bị giả mạo để ghi đè lên trang đích nếu người dùng đang sử dụng mạng không an toàn, chẳng hạn như một điểm phát sóng wifi công cộng. Cuộc tấn công có thể xảy ra ngay cả khi trang web mục tiêu chỉ có sẵn qua https vì kẻ tấn công chỉ cần giả mạo trang web http đang được liên kết đến.
Cuộc tấn công thường có thể xảy ra khi trang web nguồn sử dụng lệnh đích trong liên kết html để chỉ định vị trí tải mục tiêu không thay thế vị trí hiện tại, sau đó để cửa sổ / tab hiện tại có sẵn và không bao gồm bất kỳ biện pháp phòng ngừa nào được nêu chi tiết bên dưới .
Cuộc tấn công cũng có thể xảy ra đối với liên kết được mở thông qua hàm javascript window.open.
Xem thêm reverse string trong c++
Khái niệm về Reverse tabnabbing
Reverse tabnabbing là một kỹ thuật tấn công web nơi một trang web độc hại sử dụng tính năng tabbed browsing trong trình duyệt để lừa đảo người dùng và đánh cắp thông tin đăng nhập hoặc thực hiện các hành động không mong muốn. Tên gọi “reverse” trong Reverse tabnabbing xuất phát từ việc tấn công sử dụng một tab mở trước đó đã được người dùng tin tưởng.
Khi người dùng truy cập một trang web độc hại, trang web đó sẽ mở một liên kết đến một trang web khác trong một tab mới. Tuy nhiên, trang web khác này được thiết kế để đánh cắp thông tin đăng nhập hoặc thực hiện các hành động không mong muốn. Một phương pháp phổ biến trong Reverse tabnabbing là khi người dùng quay trở lại tab trước đó, tab trước đó sẽ bị thay đổi nội dung bằng trang web độc hại.
Mục tiêu của Reverse tabnabbing là lừa đảo người dùng và tận dụng tính năng tabbed browsing của trình duyệt để tạo ra sự đánh lừa và thực hiện các hành động độc hại. Kỹ thuật này thường được sử dụng để đánh cắp thông tin nhạy cảm như tài khoản ngân hàng, thông tin đăng nhập, hoặc thực hiện các hành động không mong muốn như gửi email giả mạo, đăng nhập vào tài khoản người dùng, v.v.
Để ngăn chặn tấn công Reverse tabnabbing, người dùng cần thực hiện các biện pháp bảo mật như không tin tưởng vào các liên kết không xác định nguồn gốc, cập nhật và sử dụng phiên bản mới nhất của trình duyệt, sử dụng các tiện ích bảo mật và phần mềm chống malware, và luôn kiểm tra URL trước khi truy cập vào các liên kết.
Xem thêm Tấn công từ chối dịch vụ (DDoS attack)
Cách Reverse tabnabbing hoạt động
Reverse tabnabbing là một kỹ thuật tấn công web nơi một trang web độc hại tận dụng tính năng tabbed browsing trong trình duyệt để đánh lừa người dùng và thực hiện các hành động độc hại.
Cách hoạt động của Reverse tabnabbing như sau:
- Người dùng truy cập vào một trang web bình thường và mở một liên kết từ trang web đó trong một tab mới.
- Trang web đích trong tab mới được thiết kế để tận dụng tính năng tabbed browsing và tạo ra sự đánh lừa.
- Trang web đích sẽ thay đổi nội dung của tab trước đó mà người dùng đã truy cập. Điều này thường được thực hiện bằng cách sử dụng JavaScript để thay đổi nội dung của tab trước đó.
- Khi người dùng quay trở lại tab trước đó, họ có thể bị lừa đảo bởi nội dung đã được thay đổi. Ví dụ, tab trước đó có thể hiển thị một biểu mẫu giả để lấy thông tin đăng nhập, hoặc chứa mã độc để thực hiện các hành động độc hại.
Điều đáng lưu ý là Reverse tabnabbing tận dụng tính chất của trình duyệt là cho phép các tab truy cập vào lẫn nhau, và trang web độc hại sẽ tận dụng tính năng này để tạo ra sự đánh lừa và thực hiện các hành động độc hại trên tab trước đó mà người dùng đã tin tưởng.
Để tránh bị Reverse tabnabbing, người dùng cần kiểm tra các liên kết trước khi truy cập vào chúng, không tin tưởng vào các trang web không xác định nguồn gốc, và cập nhật và sử dụng phiên bản mới nhất của trình duyệt để hạn chế các lỗ hổng bảo mật.
Xem thêm JTabbedPane trong java Swing
Reverse tabnabbing Với backlink
Liên kết giữa các trang mẹ và con khi thuộc tính phòng ngừa không được sử dụng:
Xem thêm Network Layer trong TCP/IP hay OSI
Reverse tabnabbing Không dùng backlink
Liên kết giữa các trang mẹ và con khi thuộc tính phòng ngừa được sử dụng:
Các ví dụ
Trang dễ bị tổn thương:
<html> <body> <li><a href="bad.example.com" target="_blank">Vulnerable target using html link to open the new page</a></li> <button onclick="window.open('https://bad.example.com')">Vulnerable target using javascript to open the new page</button> </body> </html>
Trang web độc hại được liên kết với:
<html> <body> <script> if (window.opener) { window.opener.location = "https://phish.example.com"; } </script> </body> </html>
Khi người dùng nhấp vào liên kết / nút Mục tiêu dễ bị tổn thương thì Trang web độc hại sẽ được mở trong tab mới (như mong đợi) nhưng trang web mục tiêu trong tab gốc được thay thế bằng trang web lừa đảo.
Thuộc tính có thể tiếp cận
Trang web độc hại chỉ có thể truy cập vào các thuộc tính sau từ tham chiếu đối tượng javascript mở (trên thực tế là tham chiếu đến phiên bản lớp javascript cửa sổ) trong trường hợp truy cập nguồn gốc chéo (tên miền chéo):
- opener.closed: Trả về một giá trị boolean cho biết một cửa sổ đã được đóng hay chưa.
- opener.frames: Trả về tất cả các phần tử iframe trong cửa sổ hiện tại.
- opener.length: Trả về số lượng phần tử iframe trong cửa sổ hiện tại.
- opener.opener: Trả về một tham chiếu đến cửa sổ đã tạo cửa sổ.
- opener.parent: Trả về cửa sổ mẹ của cửa sổ hiện tại.
- opener.self: Trả về cửa sổ hiện tại.
- opener.top: Trả về cửa sổ trình duyệt trên cùng.
Nếu các miền giống nhau thì trang web độc hại có thể truy cập vào tất cả các thuộc tính được hiển thị bởi tham chiếu đối tượng javascript window.
Xem thêm Landing page là gì
Cách phòng ngừa tấn công Reverse tabnabbing
Để phòng ngừa tấn công Reverse tabnabbing, bạn có thể áp dụng các biện pháp sau:
- Cập nhật trình duyệt: Đảm bảo bạn sử dụng phiên bản mới nhất của trình duyệt web và đảm bảo rằng trình duyệt của bạn đã được cập nhật đầy đủ các bản vá bảo mật.
- Kiểm tra địa chỉ URL: Luôn kiểm tra và xác minh URL của các liên kết trước khi nhấp vào chúng. Tránh truy cập vào các liên kết không đáng tin cậy hoặc không rõ nguồn gốc.
- Cẩn trọng khi chuyển đổi tab: Luôn luôn kiểm tra nội dung của tab trước khi chuyển đổi. Nếu có bất kỳ thay đổi nào không được mong đợi, hãy đóng tab đó và mở một tab mới để truy cập trang web mong muốn.
- Cài đặt phần mềm bảo mật: Sử dụng phần mềm bảo mật đáng tin cậy và cập nhật thường xuyên để phát hiện và chặn các tấn công phần mềm độc hại, bao gồm cả tấn công Reverse tabnabbing.
- Không tin tưởng hoàn toàn các liên kết: Luôn giữ thái độ cảnh giác và không tin tưởng hoàn toàn vào các liên kết trên email, tin nhắn, hoặc trang web không rõ nguồn gốc.
- Sử dụng phần mềm chặn quảng cáo và chống phishing: Sử dụng phần mềm chặn quảng cáo và chống phishing để ngăn chặn các liên kết độc hại và trang web giả mạo có thể liên quan đến tấn công Reverse tabnabbing.
- Giáo dục người dùng: Đào tạo và nâng cao nhận thức của người dùng về các mối đe dọa mạng và tấn công phổ biến, bao gồm cả tấn công Reverse tabnabbing. Hướng dẫn người dùng cách nhận biết các liên kết độc hại và cách kiểm tra tab trước khi chuyển đổi.
- Kiểm tra mã nguồn và thực thi các biện pháp an ninh phù hợp: Nếu bạn là nhà phát triển web, hãy kiểm tra mã nguồn của trang web của mình và thực hiện các biện pháp an ninh phù hợp để ngăn chặn tấn công Reverse tabnabbing. Điều này bao gồm việc kiểm tra và xử lý dữ liệu đầu vào, kiểm tra tính xác thực của URL và đảm bảo mã nguồn của trang web không bị lợi dụng để thực hiện tấn công.