Lỗi trong WordPress cho phép kẻ xấu có thể xóa file wp-config.php

Tác giả Network Engineer, T.Ba 14, 2020, 06:06:49 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Lỗi trong WordPress cho phép kẻ xấu có thể xóa file wp-config.php


WordPress là CMS (Content Management system - Hệ thống quản trị nội dung) phổ biến nhất trên web. Theo w3tech, khoảng 30% các website trên thế giới sử dụng CMS, điều này khiến nó trở thành một miếng mồi ngon cho tội phạm mạng.

Gần đây, một nhà nghiên cứu bảo mật phát hiện lỗ hổng xóa tập tin tùy ý tồn tại trong WordPress có thể dẫn đến tấn công thực thi mã tùy ý. Lỗ hổng này được báo cáo cách đây 7 tháng với nhóm bảo mật WordPress nhưng họ vẫn chưa có bất kỳ bản vá hoặc kế hoạch cụ thể nào liên quan tới lỗ hổng này.


Hiện tại, tất cả các phiên bản WordPress (bao gồm phiên bản mới nhất 4.9.6) đều chịu ảnh hưởng bởi lỗ hổng này.

Để khai thác lỗ hổng, kẻ tấn công cần phải có các quyền để chỉnh sửa và xóa các tập tin media trước. Thật may mắn, để làm được điều này, bạn phải có vai trò là "author" trong WordPress.

Khai thác lỗ hổng này cho phép kẻ tấn công khả năng xóa bất kỳ tệp nào của quá trình cài đặt WordPress. Bên cạnh đó, nếu không có bản sao lưu hiện tại, hậu quả là kẻ tấn công có thể sử dụng khả năng xóa tệp tùy ý để phá vỡ một số biện pháp bảo mật và thực thi mã tùy ý trên máy chủ web. Chính xác hơn, các tệp sau có thể bị xóa:

  • .htaccess: Nói chung, xóa tệp này không có bất kỳ hậu quả bảo mật nào. Tuy nhiên, trong một số trường hợp, tệp .htaccess chứa các ràng buộc liên quan đến bảo mật (ví dụ: các ràng buộc truy cập vào một số thư mục). Việc xóa tệp này sẽ hủy kích hoạt các ràng buộc bảo mật đó.
  • index.php
  • wp-config.php: Xóa tập tin cài đặt WordPress này sẽ kích hoạt quá trình cài đặt WordPress trong lần truy cập tiếp theo vào trang web. Điều này là do trên thực tế wp-config.php chứa thông tin đăng nhập cơ sở dữ liệu và không có sự hiện diện của nó, WordPress hoạt động như thể nó chưa được cài đặt. Kẻ tấn công có thể xóa tệp này, qua quá trình cài đặt với thông tin đăng nhập của anh ta cho tài khoản quản trị viên và cuối cùng, thực thi mã tùy ý trên máy chủ.

Hiện tại, do không có bản vá chính thức từ WordPress nên nhà nghiên cứu bảo mật đã hướng dẫn cách để khắc phục lỗ hổng này như sau:

Thêm đoạn code dưới đây vào file functions.php

Mã nguồn [Chọn]
add_filter( 'wp_update_attachment_metadata', 'rips_unlink_tempfix' );

function rips_unlink_tempfix( $data ) {
   if( isset($data['thumb']) ) {
        $data['thumb'] = basename($data['thumb']);
    }

    return $data;
}