Khắc Phục Khẩn Cấp Lỗ Hổng WordPress REST Batch API (wp2shell): Hướng Dẫn Toàn Diện

26 Tháng 7, 2026 hvdanh

Khắc Phục Khẩn Cấp Lỗ Hổng WordPress REST Batch API (wp2shell): Hướng Dẫn Toàn Diện

Lỗ hổng WordPress REST Batch API (hay còn gọi là wp2shell) đã từng là một mối đe dọa nghiêm trọng, cho phép kẻ tấn công thực thi mã từ xa (RCE) mà không cần xác thực, dẫn đến việc kiểm soát hoàn toàn website. Nếu trang web của bạn đã bị ảnh hưởng, việc phục hồi nhanh chóng và triệt để là cực kỳ quan trọng. Dưới đây là các bước chi tiết để bạn đưa website trở lại trạng thái an toàn.

1. Luôn Sao Lưu Dữ Liệu Trước Tiên

Trước khi thực hiện bất kỳ thao tác dọn dẹp nào, hãy tạo một bản sao lưu đầy đủ tất cả các tệp tin và cơ sở dữ liệu của website. Đây là bước đệm an toàn, giúp bạn khôi phục lại trạng thái ban đầu nếu có bất kỳ sự cố nào xảy ra trong quá trình khắc phục.

2. Xóa Bỏ Web Shell Độc Hại

Kiểm tra kỹ lưỡng các thư mục bộ nhớ đệm (ví dụ: /wp-content/cache/) thông qua FTP/SSH. Tìm kiếm và xóa bỏ ngay lập tức các tệp PHP đáng ngờ được tạo ra bởi cuộc tấn công. Những tệp này thường là cửa hậu cho kẻ tấn công.

3. Loại Bỏ Plugin Độc Hại

Kiểm tra các thư mục /wp-content/mu-plugins//wp-content/plugins/ để tìm và gỡ bỏ các tệp tin cửa hậu dai dẳng. Kẻ tấn công thường ngụy trang chúng dưới dạng các bản vá bảo mật hoặc plugin hợp pháp (ví dụ: một tệp có tên tương tự patch.php).

4. Cập Nhật Ngay Lập Tức Phiên Bản Lõi

Nâng cấp ngay lập tức phiên bản lõi của WordPress lên các phiên bản đã được vá lỗi (ví dụ: 6.9.5 hoặc 7.0.2 hoặc mới hơn). Việc này sẽ đóng lỗ hổng Batch API cơ bản, ngăn chặn các cuộc tấn công tương tự trong tương lai.

5. Vô Hiệu Hóa Chỉnh Sửa Tệp Tin

Để ngăn chặn việc chỉnh sửa tệp tin và cài đặt plugin trái phép trong tương lai, hãy thêm các dòng sau vào tệp wp-config.php của bạn:

define( 'DISALLOW_FILE_EDIT', true );
define( 'DISALLOW_FILE_MODS', true );

Điều này sẽ tăng cường bảo mật cho website của bạn.

6. Đặt Lại Tất Cả Thông Tin Đăng Nhập

Thay đổi mật khẩu cho tất cả người dùng, đặc biệt là tài khoản quản trị viên. Đồng thời, cập nhật mật khẩu cho người dùng cơ sở dữ liệu MySQL của bạn.

7. Buộc Đăng Xuất Toàn Cầu

Vô hiệu hóa tất cả các phiên làm việc đang hoạt động và đăng xuất mọi kẻ tấn công tiềm năng bằng cách thay thế các khóa muối (salt keys) trong tệp wp-config.php. Bạn có thể sử dụng trình tạo khóa chính thức của WordPress để tạo các khóa mới.

8. Kiểm Tra Tài Khoản Người Dùng

Truy cập phần “Người dùng” (Users) trong bảng điều khiển WordPress và kiểm tra kỹ lưỡng. Xóa bỏ bất kỳ tài khoản quản trị viên trái phép nào mà bạn không nhận ra.

9. Dọn Dẹp Cơ Sở Dữ Liệu

Chạy các truy vấn SQL trên các bảng wp_postswp_postmeta để xóa các thay đổi giả mạo (fake changesets), các mục menu bị giả mạo (thường có ngày tháng 2020-01-01), và các siêu dữ liệu payload độc hại (ví dụ: example.invalid).

10. Thu Hồi Đặc Quyền Ghi Tệp Của Cơ Sở Dữ Liệu

Để ngăn chặn cơ sở dữ liệu ghi tệp ra đĩa, hãy chạy lệnh sau trên máy chủ MySQL của bạn (thay wp_user_name bằng tên người dùng cơ sở dữ liệu thực tế của bạn):

REVOKE FILE ON *.* FROM 'wp_user_name'@'localhost';

Bước này giúp tăng cường bảo mật, ngăn chặn kẻ tấn công lợi dụng cơ sở dữ liệu để tạo tệp độc hại trên máy chủ.

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chat qua Zalo Zalo