Xử lý website WordPress bị hack, chèn mã độc, chuyển hướng lạ
Website WordPress bị hack thường có dấu hiệu chuyển hướng sang trang lạ, xuất hiện bài viết, tài khoản quản trị không rõ nguồn gốc, Google báo "trang web có thể bị tấn công" hoặc hosting cảnh báo gửi thư rác. Bài viết hướng dẫn các bước xử lý theo đúng thứ tự: cô lập, làm sạch, đóng lỗ hổng và phòng tránh tái nhiễm.
Dấu hiệu website bị hack
- Truy cập từ Google hoặc điện thoại bị chuyển sang trang cá cược, quảng cáo (truy cập trực tiếp có khi vẫn bình thường).
- Kết quả tìm kiếm
site:tenmien.comcó trang tiếng nước ngoài, trang bán hàng lạ. - Có tài khoản quản trị lạ, file PHP lạ trong
wp-content/uploads. - Hosting báo dùng CPU cao bất thường hoặc gửi thư rác.
Bước 1: Cô lập và lưu lại hiện trạng
- Bật chế độ bảo trì hoặc tạm chặn truy cập nếu website đang chuyển hướng khách sang trang độc hại.
- Sao lưu toàn bộ file và cơ sở dữ liệu hiện tại (dù đã nhiễm) để đối chiếu, phòng khi làm sạch xoá nhầm.
Bước 2: Đổi toàn bộ mật khẩu
- Mật khẩu tài khoản hosting / cPanel, FTP, cơ sở dữ liệu (nhớ sửa lại trong
wp-config.php). - Mật khẩu mọi tài khoản quản trị WordPress, xoá tài khoản quản trị lạ.
- Tạo khoá bảo mật mới trong
wp-config.php(các dòngAUTH_KEY,SECURE_AUTH_KEY…) để đăng xuất mọi phiên đang đăng nhập. - Quét virus máy tính bạn dùng để quản trị: mật khẩu có thể bị lộ từ chính máy tính.
Bước 3: Làm sạch mã nguồn
Thay lõi WordPress
Tải bản WordPress cùng phiên bản từ wordpress.org, thay thư mục wp-admin, wp-includes và các file ở thư mục gốc (trừ wp-config.php và wp-content).
Theme và plugin
- Xoá theme, plugin không dùng.
- Cài lại từ nguồn chính thức các theme, plugin đang dùng. Không dùng bản "nulled" / bẻ khoá: đây là nguồn mã độc phổ biến nhất.
Tìm file lạ
Trong File Manager của cPanel (hoặc qua Terminal nếu gói có hỗ trợ), kiểm tra:
- File
.phpnằm trongwp-content/uploads: thư mục này chỉ nên chứa ảnh, tài liệu. - File mới sửa gần đây mà bạn không đụng tới; đoạn mã có
eval(,base64_decode(,gzinflate(dài bất thường. - File
.htaccesscó quy tắc chuyển hướng lạ.
find . -name "*.php" -path "*uploads*"
find . -name "*.php" -mtime -7
Cơ sở dữ liệu
Trong phpMyAdmin, kiểm tra bảng wp_users (tài khoản lạ), wp_options (giá trị siteurl, home bị đổi), tìm đoạn <script lạ trong wp_posts.
Bước 4: Hoặc khôi phục bản sao lưu sạch
Nếu có bản sao lưu từ trước thời điểm bị nhiễm, khôi phục là cách nhanh nhất (xem khôi phục website trên cPanel), sau đó vẫn phải làm bước 2 và bước 5, không thì website sẽ bị nhiễm lại qua cùng lỗ hổng.
Bước 5: Đóng lỗ hổng
- Cập nhật WordPress, theme, plugin lên bản mới nhất.
- Dùng PHP bản mới được hỗ trợ (đổi phiên bản PHP).
- Thêm vào
wp-config.phpđể tắt sửa file trong trang quản trị:define('DISALLOW_FILE_EDIT', true); - Cài plugin bảo mật có tường lửa và giới hạn đăng nhập sai, bật xác thực 2 lớp cho tài khoản quản trị.
Bước 6: Báo Google sau khi sạch
Trong Google Search Console → Bảo mật và thao tác thủ công → Vấn đề bảo mật, gửi yêu cầu xem xét lại để gỡ cảnh báo.
Kết luận
Làm sạch chỉ là một nửa: đổi mật khẩu, cập nhật và bỏ plugin bẻ khoá mới là điều ngăn website bị hack lại. Sao lưu đều đặn giúp bạn khôi phục chỉ trong vài phút. Xem các gói Hosting cPanel để chạy WordPress ổn định.
Bạn thấy bài viết này hữu ích?
Chia sẻ lên Facebook