Gần đây, đã xuất hiện nhiều cảnh báo về một lỗ hổng bảo mật Cross-Site Request Forgery (CSRF) quan trọng trong plugin TagDiv Composer 4.1 của giao diện Newspaper. Dẫn tới web có thể bị chèn các script mã độc vào setting của giao diện.
Trong bài viết này, tôi sẽ diễn giải một chút về loại lỗ hổng này, cũng như một số thao tác khắc phục nó trên trang WordPress của bạn.
Giới thiệu về TagDiv Composer và lỗ hổng bảo mật Cross-Site Request Forgery (CSRF)
TagDiv Composer là một plugin đi kèm của giao diện Newspaper, plugin này được thiết kế để tùy chỉnh và xây dựng trang theo dạng kéo thả trong WordPress.
Cross-Site Request Forgery (CSRF) hay còn gọi là “tấn công giả mạo yêu cầu từ xa,” là một loại tấn công mạng có hại nhằm lừa đảo người dùng thực hiện các hoạt động không mong muốn trên trang web mà họ đã đăng nhập. CSRF thường xảy ra khi người tấn công gửi yêu cầu giả mạo từ một trang web khác, thường là từ một trang web độc lập, và cố gắng thực hiện các hành động trên trang web mà người dùng đã đăng nhập.
Lỗ hổng bảo mật CSRF trên plugin TagDiv Composer được anh Truoc Phan phát hiện và báo cáo vào ngày 25 tháng 7 năm 2023 với mức độ nghiêm trọng là 6,1/10.
Theo thông tin mới nhất, lỗ hổng bảo mật này cũng đã được khắc phục trong bản cập nhập mới của plugin TagDiv Composer 4.2.
Làm thế nào để xử lý và ngăn chặn lỗ hổng CSRF
Về khía cạnh lập trình, để ngăn chặn tấn công CSRF, các nhà phát triển web thường sử dụng các biện pháp bảo vệ bằng cách sử dụng mã xác thực như “CSRF tokens” và kiểm tra nguồn gốc của yêu cầu để đảm bảo rằng yêu cầu chỉ được chấp nhận nếu nó được gửi từ nguồn đáng tin cậy.
Còn đối với người dùng, nó đòi hỏi những quản trị viên có sự cảnh giác đối với các tác vụ bất thường, cũng như thường xuyên cập nhật ứng dụng của họ.
Nhận biết lỗ hổng CSRF và gỡ bỏ mã độc trên Newspaper
Hầu hết người dùng biết đến khi web đã bị chèn mã độc thông qua CSRF, nên bạn có thể dễ dàng nhận thấy việc Web bị các phần mềm bảo mật như Avast, Kaspersky,… ngăn chặn việc truy cập trang web hoặc bị Google từ chối chiến dịch quảng cáo.
Ngoài ra, bạn có thể sử dụng các công cụ kiểm tra bảo mật Online như Sucuri, Virustotal,… các công cụ này sẽ kiểm tra nội dung trang của bạn với các thuật toán bảo mật và sẽ hiển thị các kết quả giống như dạng sau:
<style id="tdw-css-placeholder"></style><script>let _vlvtxd="_liucnm"; .................</script><style></style></head>
Ở đây bạn thấy rằng lỗ hổng này cho phép hacker hoặc các random software chèn tự động các script mã độc vào phần tùy chỉnh style css của giao diện Newspaper.
Nên trước hết, hãy truy cập vào Dashboard của website và kiểm tra lại các setting trong Theme options của giao diện Newspaper. Đặc biệt là phần tùy chỉnh Style CSS, nếu tìm thấy hãy tiến hành xóa bỏ nó và nhấn Save setting như bình thường.
Một cách làm khác nhanh chóng hơn đó là hãy truy cập vào PHPmyadmin của website, sau đó tìm kiếm trường option_name có giá trị là td_live_css_local_storage trong bảng wp_options (Phần tiền tố prefix wp_ có thể sẽ khác nhau theo tường website).
Sau khi tìm thấy kết quả, hãy tiến hãy xóa các <script>let _vlvtxd=”_liucnm”; ……………..</script> trên khỏi các bảng dữ liệu tìm được.
Tiếp theo, hãy siết chặt hơn vòng bảo mật của bạn bằng cách cập nhật toàn bộ Plugins, Themes, WordPress core lên phiên bản mới. Hãy đảm bảo bạn thực hiện nó thủ công thay vì tự động, vì bạn sẽ không thể lường được hết mã độc có đang tạo ra các file mã độc khác trong source code hay không.
Nếu bạn chưa biết cách cập nhật WordPress thủ công, bạn có thể tham khảo bài viết sau: Hướng dẫn cập nhật WordPress thủ công
Cuối cùng, hãy tiến hành báo cáo lại cho các tổ chức bảo mật như Avast, Sucuri,… để họ biết rằng bạn đã xử lý lỗ hổng trên và gỡ bỏ website của bạn khỏi danh sách black list của họ.
Tổng kết
Trên đây là một số hướng dẫn cơ bản để bạn có thể khoanh vùng nhanh lỗ hổng bảo mật CSRF trên plugin Tagdiv Composer 4.1, bạn có thể xem thêm chi tiết về báo cáo lỗ hổng này tại đây.
Nếu bạn không thể tự xử lý được vấn đề trên, hãy liên hệ quản trị viên hệ thống hoặc đơn vị cung cấp Web/Hosting để được giúp đỡ.