Tìm hiểu về lỗ hổng Clickjacking

Chúng tôi vui mừng chia sẻ kiến thức về từ khóa Clickjacking la gi để tối ưu hóa nội dung trang web và tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích từ khóa và chiến lược hiệu quả. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi để cập nhật kiến thức mới.

Clickjacking là một lỗ hổng đã có từ rất mất thời gian. Tuy không được nhìn nhận và đánh giá là 1 trong lỗ hổng có mức độ nguy hiểm cao, nhưng Clickjacking vẫn xoành xoạch là 1 trong lỗ hổng tiềm tàng nhiều rủi ro, nhất là với những người dân dùng không có nhiều tri thức về mạng. Hôm nay mình sẽ tìm hiểu tổng quan về lỗ hổng Clickjacking để mọi người dân có thể hiểu và tránh bị hacker tận dụng và khai thác.

Bạn Đang Xem: Tìm hiểu về lỗ hổng Clickjacking

a. Khái niệm

Clickjacking là một cuộc tiến công dựa trên giao diện trong đó người dùng bị lừa nhấp vào nội dung có thể hành động trên một website ẩn bằng phương pháp nhấp vào trong 1 số nội dung khác trong website mạo.

Một cuộc tấn công minh clickjacking sử dụng các tính năng dường như vô hại của HTML và JavaScript để buộc nạn nhân thực hiện các hành động không mong muốn, ví như nhấp vào trong 1 nút ẩn thực hiện một thao tác ngoài ý muốn. Đây là một vấn đề bảo mật thông tin phía máy khách tác động ảnh hưởng đến nhiều trình duyệt và nền tảng khác nhau.

Ta sẽ làm rõ khái niệm trên qua ví dụ ở đây:

Trước nhất hacker sẽ tạo ra 1 website để khai thác. Website này sẽ gồm 2 lớp, 1 lớp mạo phía bên trên sẽ tiến hành sử dụng để gạt gẫm người dùng (ví dụ như nhấp vào để nhận thưởng vv…), lớp phía bên dưới được làm ẩn đi sẽ chứa website mà hacker muốn khai thác (ví dụ như một nhà băng). Sau đó hacker sẽ gửi liên kết website cho nạn nhân. Người dùng web truy cập vào website chứa mã độ và nhấp vào trong 1 nút để giành phần thưởng. Vô tình, họ đã trở nên kẻ tiến công lừa nhấn vào trong 1 nút ẩn thay thế và điều này dẫn đến việc tính sổ tài khoản trên website nhà băng mà hacker nhắm tới.

b. Nhận mặt

Như đã đề cập ở trên, kiểu tiến công này thường được thiết kế để được cho phép kẻ tiến công gây ra hành động của người dùng trên 1 website cụ thể, ngay cả những lúc mã thông tin chống CSRF đang rất được sử dụng. Trước lúc hacker có thể tiến công Clickjacking, hacker sẽ thực hiện kiểm tra để xác định xem website mà hacker nhắm tới có dễ bị tiến công clickjacking hay là không. tin tặc sẽ chạy thử 1 đoạn mã html có frame chứa url của website hacker nhắm tới. Ví dụ về mã HTML để tạo website thử nghiệm này được hiển thị trong đoạn mã sau:

<!DOCTYPE HTMLvàgt; <html lang=”en-US”> <headvàgt; <meta charset=”UTF-8″> <titlevàgt;I Framevàlt;/titlevàgt; </headvàgt; <bodyvàgt; <h3vàgt;clickjacking vulnerabilityvàlt;/h3vàgt; <iframe src=”http://www.target.site” height=”500px” width=”500px”></iframevàgt; </bodyvàgt; </htmlvàgt;

Src sẽ chứa url của website mà hacker muốn khai thác. Nếu nội dung của website này được tải thành công vào sườn, thì trang đó dễ bị tiến công và không có kiểu bảo vệ chống lại các cuộc tấn công minh Clickjacking. Ví dụ về 1 website bị lỗ hổng Clickjacking:

c. Hậu quả

Theo 1 vài trang chuyên để nhìn nhận và đánh giá mức độ nguy hiểm của khá nhiều lỗ hổng hậu quả Clickjacking được chia thành 3 loại sau:

  • Clickjacking -> Sensitive Click-Based kích hoạt (Clickjacking dẫn tới hành động nhấp chuột gây nguy hiểm): Đây là mức độ nguy hiểm tốt nhất có thể của Clickjacking. Website mà hacker khai thác có chứ những nút click mang tính nguy hiểm cao mà không thực hiện xác thực.

    Xem Thêm : Phòng Công Tác Sinh Viên Tiếng Anh Là Gì?

    Những nút Click nguy hiểm có thể gồm có: Xóa tài khoản người dùng, xác thực 1 thanh toán giao dịch thông sang 1 hoặc rất ít lần nhấp chuột. Hình ảnh trên mô phỏng một cuộc tiến công Sensitive Click-Based của Portswigger. Mình sẽ làm 1 ví dụ trên Portswigger về lỗi trên tại phần khai thác phía bên dưới:

    Bên cạnh mức độ nguy hiểm, thì hậu quả của lỗi trên thường được đánh mức nguy hiểm là P4 trong trong các lớp học bugbounty và hoàn toàn được chấp thuận đồng ý là 1 trong lỗ hổng được trả tiền thưởng.

  • Clickjacking -> Form Input (Clickjacking tận dụng chức năng nhập vào form): Bên cạnh việc sử dụng các nút click để khai thác. tin tặc có thể tận dụng các form input của website khai thác .

    Ta sẽ xem xét 1 ví dụ sau: Website khai thác có chứa chức năng đổi mật khẩu nhưng không xác thực lại mật khẩu cũ. tin tặc sẽ tận dụng Clickjacking để lừa người dùng nhập vào 1 chuỗi ký tự vào form input của website mà hacker kiểm soát, nhưng thực chất là đang nhập 1 mật khẩu mới và hacker hoàn toàn biết giá thành rẻ trị của mật khẩu mới đó. Như vậy hacker có thể thu được tài khoản của nạn nhân.

    Form input ngoài chức năng đổi mật khẩu thì hacker có thể khai thác chức năng đổi email người dùng nếu như không được xác thực đúng cách. Không chỉ thế chức năng đăng nhập cũng tồn tại thể được tận dụng để khai thác tuy nhiên thì cách tiến công này mang lại hiệu quả không thật cao.

  • Clickjacking -> Non-Sensitive kích hoạt (Clickjacking chứa các hành động không nguy hiểm): Tại mức độ này thì sự nguy hiểm của Clickjacking mang lại là không đảm bảo khi website đã sử dụng các phương thức xác thực tốt hoặc không chứa những những nút click dẫn tới tác động cụ thể.

    Ngày nay thì lỗi trên thường được đánh mức nguy hiểm là P5 (mức độ infomation) trong trong các lớp học bugbounty. Tuy nhiên không thể vững chắc trong tương lai website đó có thêm các tính năng dẫn tới nguy hiểm hay là không nên vẫn tiềm tàng rủi ro.

d. Khai thác

Tại phần khai thác này mình sẽ demo cách 1 hacker khai thác Clickjacking như nào. Mình sẽ sử dụng 1 lab trên portswigger tại Đây. Nhiệm vụ là mình sẽ tạo 1 bộ sườn HTML để gạt gẫm người dùng xóa tài khoản của họ.

Trước nhất đăng nhập vào website với username=wienervàamp;password=peter. Website sẽ điều phối tới website của người dùng. Ta thực hiện kiểm tra tương tự bước b bằng phương pháp nhúng website vào 1 frame:

Xem Thêm : SYS mmHg là gì? Một số điều bạn nên biết về huyết áp tâm thu

Xác nhận website đã có thể tiến công Clickjacking. Thực hiện nhúng website vào sườn của sever khai thác. Đi tới sever khai thác được tạo sẵn trong portswigger và điền payload sau vào phần body toàn thân:

<stylevàgt; iframe { position:relative; width:500px; height: 700px; opacity: 0.1; z-index: 2; } div { position:absolute; top: 50px; left: 50px; z-index: 1; } </stylevàgt; <divvàgt;Clickvàlt;/divvàgt; <iframe src=”https://ac4f1fa21e06e66e804d00a6003f00f0.web-security-academy.net/my-account”></iframevàgt;

src sẽ là url của website tất cả chúng ta muốn khai thác. Thực hiện kiểm tra xem vị trí của nút Click nó nằm đúng trên nút Delete Tài khoản hay chưa và thực hiện căn chỉnh:

Như trong trường hợp này t sẽ chỉnh sửa thông số như sau:

width:500px; height: 700px; top: 495px; left: 60px;

Thực hiện kiểm tra lại và xác thực vị trí Click me đã nằm đúng vị trí Delete Tài khoản:

Chỉnh sửa opacity: 0.0001; để làm ẩn website cần khai thác và chọn Deliver exploit to victim để gửi cho nạn nhân. Khi nạn nhân truy cập vào website và nhấp vào Click me thì sẽ bị xóa tài khoản và hoàn thành bài lab.

e. Cách phòng tránh

Ngày này để ngăn chặn tiến công Clickjacking khá dễ dàng. Có 2 phương diện để phòng tránh Clickjacking gồm có từ phía client và server.

  • Về phía Client, cách phòng tránh tốt nhất là người dùng nên cảnh giác khi đối chiếu với những đường link lạ với những nội dung hướng người dùng đến việc click chuột như: Click để nhận phần thưởng, Click để quay số vv…
  • Về phía Server sẽ có được nhiều phương pháp để phòng tránh Clickjacking:
    • Sử dụng tùy chọn X-Frame: Giải pháp này của Microsoft là một trong những giải pháp hiệu quả nhất chống lại các cuộc tiến công clickjacking trên máy tính của bạn. Chúng ta có thể gồm có tiêu đề HTTP X-Frame-Options trong tất cả những website của bạn. Điều này sẽ ngăn không cho website của bạn bị nhúng vào trong một sườn thông qua các thẻ như: <framevàgt;, <iframevàgt;, <objectvàgt;. X-Frame được tương trợ bởi các phiên bản tiên tiến nhất của hồ hết các trình duyệt gồm có Safari, Chrome, IE.

    • Vận chuyển các thành phần trên trang của bạn: tin tặc chỉ có thể tiến công Clickjacking lúc biết nó cấu trúc của website và từ đó đặt được những điểm Click ẩn. Bằng phương pháp vận chuyển thành phần đó liên tục tới các vị trí khác nhau, tin tặc sẽ rất khó để sở hữu thể tận dụng lỗ hổng trên để khai thác. Vấn đề duy nhất với giải pháp này là sẽ làm người dùng cảm thấy khó tiếp cận và sử dụng website.

    • Sử dụng URL một lần: Đây là một phương pháp khá tiền tiến để bảo vệ chống lại những kẻ lường đảo. Chúng ta có thể làm cho cuộc tiến công trở thành khó khăn hơn nhiều nếu khách hàng sử dụng URL 1 lần vào các trang quan trọng. Việc sử dụng url 1 lần khiến hacker không thể nhúng url vào trong website để thực hiện khai thác. Điều này tương tự như nonces được sử dụng để ngăn chặn CSRF nhưng độc đáo Theo phong cách nó gồm có nonces trong các URL để nhắm mục tiêu các trang, không phải trong các hình thức trong các trang đó (khá giống với cách WordPress sử dụng wp-nonce trên URL).

Trên đây là những gì mình biết về lỗ hổng Clickjacking. Hi vọng mọi người sau khoản thời gian đọc nội dung bài viết sẽ hiểu được về lỗ hổng Clickjacking và cách phòng chống nó.

You May Also Like

About the Author: v1000