Bỏ qua đến nội dung chính
logo Golden Bee
Hỗ trợ & Sự cố

Hướng Dẫn Cập Nhật Lại Core WordPress Để Diệt Virus Triệt Để (2026)

10 phút đọc
Website bị virus - website bị Google hiển thị tiếng Nhật
Website bị virus - website bị Google hiển thị tiếng Nhật
Mục lục bài viết
Rate this post
Website bị virus - website bị Google hiển thị tiếng Nhật
Website bị virus – website bị Google hiển thị tiếng Nhật

Website WordPress bị nhiễm mã độc là tình huống không hiếm gặp — đặc biệt với các site sử dụng theme/plugin lậu (nulled), mật khẩu yếu hoặc bỏ qua cập nhật bảo mật quá lâu. Hậu quả có thể rất nghiêm trọng: Google đánh dấu website là nguy hiểm, hosting bị khóa, dữ liệu khách hàng bị đánh cắp, hoặc server bị dùng để gửi spam.

Bài viết này hướng dẫn quy trình xử lý triệt để virus trên WordPress theo thứ tự ưu tiên — từ cách dọn sạch mã nguồn, reinstall core, tắt XMLRPC, cài lại plugin sạch, cho đến các biện pháp bảo mật dài hạn để không bị tái nhiễm.

Lưu ý: Trước khi thực hiện bất kỳ bước nào, hãy sao lưu toàn bộ dữ liệu (database + file) dù site đang bị nhiễm. Bạn cần bản backup này nếu cần khôi phục dữ liệu sau.


Bước 1: Cô Lập Website — Ngắt Không Cho Virus Lây Lan

Việc đầu tiên là hạn chế thiệt hại đang xảy ra.

  • Đặt website ở chế độ Maintenance hoặc tạm thời tắt public access nếu hosting hỗ trợ (thông qua .htaccess hoặc tính năng của cPanel).
  • Đổi mật khẩu ngay lập tức: mật khẩu WordPress admin, FTP/SFTP, cPanel/Plesk, email hosting.
  • Thu hồi tất cả session đang đăng nhập: Vào wp-admin → Users → [tài khoản của bạn], kéo xuống mục Sessions, chọn Log Out Everywhere Else.
  • Thông báo cho nhà cung cấp hosting để họ kiểm tra server-level và có thể giúp cô lập các file độc hại.
Cô lập trang web trên hosting

Bước 2: Quét Mã Độc — Xác Định Phạm Vi Bị Nhiễm

Trước khi xóa, cần biết virus ở đâu.

Dùng công cụ quét online

  • Sucuri SiteCheck (sitecheck.sucuri.net) — kiểm tra blacklist và phát hiện mã độc phía frontend.
  • VirusTotal — upload các file nghi ngờ để quét bằng 70+ engine.

Dùng plugin quét trên WordPress (nếu vẫn vào được wp-admin)

  • Wordfence Security — quét toàn bộ file, so sánh với repository WordPress.org, phát hiện file bị sửa đổi.
  • MalCare — phát hiện mã độc ẩn sâu mà Wordfence có thể bỏ qua.

Kiểm tra thủ công qua FTP/SSH

Tìm các dấu hiệu phổ biến của mã độc:

bash

# Tìm file PHP chứa các hàm mã hóa độc hại
grep -r "eval(base64_decode" /public_html/ --include="*.php"
grep -r "gzinflate" /public_html/ --include="*.php"
grep -r "str_rot13" /public_html/ --include="*.php"

# Tìm file PHP mới được tạo/sửa trong 30 ngày gần nhất
find /public_html/ -name "*.php" -mtime -30

Đây là các hàm PHP thường được mã độc sử dụng để ẩn mình:

  • eval(base64_decode(...))
  • gzinflate / gzuncompress
  • str_rot13
  • preg_replace với flag /e

Bước 3: Xóa Toàn Bộ Mã Nguồn Core — Giữ Lại wp-content

Đây là bước quan trọng nhất để đảm bảo core WordPress hoàn toàn sạch.

Những gì cần XÓA

Kết nối FTP/SFTP hoặc dùng File Manager trong cPanel, xóa tất cả trừ thư mục wp-content:

❌ XÓA:
├── wp-admin/           (toàn bộ thư mục)
├── wp-includes/        (toàn bộ thư mục)
├── wp-login.php
├── wp-cron.php
├── wp-settings.php
├── wp-mail.php
├── wp-links-opml.php
├── wp-comments-post.php
├── wp-blog-header.php
├── wp-activate.php
├── wp-signup.php
├── xmlrpc.php          ← ĐẶC BIỆT LƯU Ý
├── index.php           (root)
├── readme.html
├── license.txt
└── wp-config-sample.php

✅ GIỮ LẠI:
└── wp-content/         (themes, plugins, uploads của bạn)
    ├── themes/
    ├── plugins/
    └── uploads/

✅ GIỮ LẠI (để kiểm tra lại sau):
└── wp-config.php       (kiểm tra kỹ trước khi giữ — xem bước 3b)
└── .htaccess           (xem bước tắt XMLRPC)

3b. Kiểm tra file wp-config.php

File wp-config.php thường bị chèn mã độc ở đầu hoặc cuối. Mở file và kiểm tra:

  • Chỉ giữ lại đúng cấu trúc chuẩn (DB credentials, table prefix, security keys).
  • Xóa bất kỳ đoạn code lạ nào, đặc biệt là các chuỗi base64 hoặc eval ở đầu/cuối file.
  • Regenerate Security Keys tại: https://api.wordpress.org/secret-key/1.1/salt/ — dán vào thay thế phần cũ.

3c. Tải về và cài lại WordPress Core mới nhất

  1. Tải bản WordPress mới nhất tại wordpress.org/download (hoặc phiên bản tiếng Việt tại vi.wordpress.org).
  2. Giải nén, upload toàn bộ các file/thư mục core (trừ wp-content và wp-config.php) lên server.
  3. Truy cập website — nếu hiện trang cập nhật database, nhấn Update WordPress Database.

Bước 4: Tắt XMLRPC — Bịt Lỗ Hổng Tấn Công Phổ Biến

xmlrpc.php là file cho phép truy cập WordPress từ xa. Đây là mục tiêu tấn công brute-force và DDoS phổ biến nhất trên WordPress. Nếu bạn không dùng ứng dụng mobile WordPress hoặc Jetpack, hãy tắt hoàn toàn.

Cách 1: Chặn qua .htaccess (khuyến nghị — nhanh và hiệu quả)

Thêm đoạn sau vào file .htaccess ở thư mục gốc (nếu chưa có tải ở đây)

apache

# Tắt XMLRPC hoàn toàn
<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>

Cách 2: Chặn qua Nginx (nếu dùng Nginx)

nginx

location = /xmlrpc.php {
    deny all;
    access_log off;
    log_not_found off;
}

Cách 3: Dùng plugin (nếu không muốn sửa file)

Plugin Disable XML-RPC (wordpress.org) — nhẹ, miễn phí, cài xong kích hoạt là xong.

Kiểm tra lại: Sau khi cấu hình, dùng công cụ tại xmlrpc.rocks để xác nhận XMLRPC đã bị chặn thành công.


Bước 5: Xóa Và Cài Lại Plugin Sạch

Plugin lậu (nulled) là nguyên nhân hàng đầu khiến WordPress bị nhiễm virus. Sau khi đã dọn sạch core, cần làm sạch hoàn toàn phần plugin.

Quy trình

  1. Xóa toàn bộ thư mục /wp-content/plugins/ qua FTP.
  2. Vào wp-admin → Plugins, cài lại từng plugin theo danh sách bạn cần.
  3. Chỉ cài plugin từ hai nguồn uy tín duy nhất:
    • WordPress.org (miễn phí, có kiểm duyệt).
    • Website chính thức của nhà phát triển (cho plugin trả phí/bản quyền).

Tại sao nên dùng plugin bản quyền?

Tiêu chíPlugin nulled (lậu)Plugin bản quyền
Cập nhật bảo mật❌ Không có✅ Tự động
Hỗ trợ kỹ thuật❌ Không có✅ Có
Nguy cơ backdoor⚠️ Rất cao✅ Thấp
Tuân thủ pháp lý❌ Vi phạm bản quyền✅ Hợp lệ
Chi phí dài hạnCao (xử lý sự cố)Thấp hơn khi tính tổng

Các plugin bảo mật bản quyền đáng đầu tư:

  • Wordfence Premium — tường lửa real-time, blacklist IP tự động.
  • WP Cerber Security — chống brute-force, giới hạn đăng nhập.
  • iThemes Security Pro — tổng hợp nhiều lớp bảo mật.

Kiểm tra plugin sau khi cài

Sau khi cài lại tất cả plugin, chạy lại Wordfence Scan để đảm bảo không còn file bị nghi ngờ.


Bước 6: Kiểm Tra Và Dọn Sạch Thư Mục wp-content/uploads

Thư mục uploads chứa ảnh và file media của bạn — nhưng hacker thường cấy file PHP vào đây vì thư mục này ít bị kiểm tra.

bash

# Tìm file PHP trong uploads (không bình thường — cần xóa ngay)
find /public_html/wp-content/uploads/ -name "*.php"

# Tìm file .htaccess lạ trong uploads
find /public_html/wp-content/uploads/ -name ".htaccess"

Thêm cấu hình .htaccess vào thư mục uploads để ngăn thực thi PHP:

apache

# Chặn thực thi PHP trong thư mục uploads
<Files *.php>
    deny from all
</Files>

Bước 7: Kiểm Tra Database — Xóa Backdoor Ẩn Trong Database

Mã độc tinh vi thường lưu payload trong database (bảng wp_options, wp_posts) và thực thi từ đó. Core và file sạch nhưng database vẫn bẩn thì site vẫn bị nhiễm lại.

Kiểm tra bảng wp_options

sql

-- Tìm các giá trị có chứa mã độc phổ biến
SELECT option_name, option_value 
FROM wp_options 
WHERE option_value LIKE '%eval(%'
   OR option_value LIKE '%base64_decode%'
   OR option_value LIKE '%gzinflate%';

Kiểm tra bảng wp_posts và wp_postmeta

sql

SELECT ID, post_title, post_content 
FROM wp_posts 
WHERE post_content LIKE '%<script%'
   AND post_status = 'publish';

Dùng plugin hỗ trợ

  • WP Medic — quét database tự động, phát hiện các injection.
  • Ninja Scanner — quét cả file lẫn database.

Bước 8: Kiểm Tra Và Dọn Sạch Theme

Theme cũng là nguồn nhiễm phổ biến — đặc biệt theme nulled hoặc theme cũ không cập nhật.

  1. Xóa tất cả theme không sử dụng — chỉ giữ theme đang dùng và một theme mặc định của WordPress (Twenty Twenty-Four).
  2. Mở functions.php của theme đang dùng — kiểm tra không có code lạ.
  3. Nếu đang dùng theme mua bản quyền: tải lại bản mới nhất từ trang chủ nhà phát triển và upload đè lên.
  4. Nếu đang dùng theme tự code: chạy Wordfence Scan để kiểm tra từng file.

Không nên: Cài theme nulled từ các web chia sẻ file lậu. Hầu hết các theme này đã được chèn sẵn backdoor trước khi upload lên.


Bước 9: Cấu Hình Bảo Mật Sau Khi Làm Sạch

Sau khi đã dọn sạch, thiết lập các lớp bảo mật để ngăn tái nhiễm.

9a. Phân quyền file đúng chuẩn

bash

# Thư mục: 755
find /public_html/ -type d -exec chmod 755 {} \;

# File: 644
find /public_html/ -type f -exec chmod 644 {} \;

# wp-config.php: 440 (chỉ owner đọc được)
chmod 440 wp-config.php

9b. Thêm bảo vệ wp-config.php và .htaccess

apache

# Bảo vệ wp-config.php
<Files wp-config.php>
    Order Deny,Allow
    Deny from all
</Files>

# Bảo vệ .htaccess
<Files .htaccess>
    Order Deny,Allow
    Deny from all
</Files>

9c. Giới hạn đăng nhập và bật 2FA

  • Cài plugin giới hạn số lần đăng nhập sai (Limit Login Attempts Reloaded).
  • Bật Xác thực 2 yếu tố (2FA) cho tài khoản admin — dùng WP 2FA hoặc Google Authenticator.
  • Đổi URL đăng nhập khỏi /wp-login.php mặc định — dùng WPS Hide Login.

9d. Tắt chỉnh sửa file theme/plugin trong wp-admin

Thêm vào wp-config.php:

php

define('DISALLOW_FILE_EDIT', true);

9e. Cấu hình tường lửa ứng dụng web (WAF)

  • Cloudflare (miễn phí) — lọc traffic độc hại trước khi đến server, ẩn IP thật của server.
  • Sucuri Firewall (trả phí) — WAF chuyên cho WordPress, chặn các cuộc tấn công SQLi, XSS, brute-force.

Bước 10: Yêu Cầu Google Xem Xét Lại (Nếu Bị Blacklist)

Nếu Google đã đánh dấu website của bạn là nguy hiểm:

  1. Đăng nhập Google Search Console.
  2. Vào Security Issues — xem chi tiết vấn đề Google phát hiện.
  3. Sau khi đã làm sạch hoàn toàn, nhấn Request a Review.
  4. Thời gian xét duyệt thường từ 1–3 ngày làm việc.

Bước 11: Thiết Lập Giám Sát Liên Tục

Xử lý xong không có nghĩa là xong vĩnh viễn. Cần giám sát tự động để phát hiện sớm.

Công cụTính năngChi phí
Wordfence PremiumQuét định kỳ, cảnh báo email~$119/năm
Sucuri MonitoringBlacklist monitoring, uptimeMiễn phí → trả phí
ManageWPQuản lý nhiều site, backup, bảo mậtFreemium
Uptime RobotCảnh báo khi site sậpMiễn phí
Google Search ConsoleCảnh báo bảo mật từ GoogleMiễn phí

Tóm Tắt Quy Trình Xử Lý Virus WordPress

1. Cô lập → đổi mật khẩu, tắt public access
2. Quét → xác định phạm vi bị nhiễm
3. Xóa core → giữ wp-content, cài lại WordPress mới nhất
4. Tắt XMLRPC → chặn qua .htaccess hoặc Nginx
5. Cài lại plugin → chỉ từ wordpress.org hoặc bản quyền chính hãng
6. Dọn uploads → xóa file PHP lạ, chặn thực thi PHP
7. Quét database → xóa injection trong wp_options, wp_posts
8. Dọn theme → xóa theme nulled, cập nhật theme bản quyền
9. Cấu hình bảo mật → phân quyền file, 2FA, WAF, Cloudflare
10. Yêu cầu Google review → nếu bị blacklist
11. Giám sát liên tục → Wordfence, Search Console, Uptime Robot

Câu Hỏi Thường Gặp

Tôi có cần xóa database không?

Không cần xóa toàn bộ database. Chỉ cần kiểm tra và xóa các giá trị độc hại trong các bảng cụ thể như đã hướng dẫn ở Bước 7.

Sau khi làm sạch, site có bị mất dữ liệu không?

Không, nếu bạn chỉ xóa phần core WordPress (không xóa wp-content) và giữ nguyên wp-config.php. Toàn bộ bài viết, trang, media và cài đặt đều lưu trong database và wp-content.

Mất bao lâu để xử lý?

Với người có kinh nghiệm kỹ thuật: 2–4 giờ. Nếu site phức tạp hoặc bị nhiễm nặng (database bẩn, nhiều file bị sửa): có thể 1–2 ngày.

Tôi nên thuê dịch vụ hay tự làm?

Nếu bạn không có kỹ năng kỹ thuật (FTP, SSH, cơ sở dữ liệu), hãy thuê chuyên gia hoặc liên hệ công ty bảo mật WordPress. Tự làm sai có thể làm mất dữ liệu hoặc để lại backdoor không biết.

Kết Luận

Việc website WordPress bị nhiễm virus không phải là dấu chấm hết — nhưng cần xử lý đúng quy trình và triệt để. Xóa mỗi plugin virus một mình hay chỉ cài Wordfence là không đủ; hacker có thể để lại nhiều backdoor ở nhiều tầng khác nhau (file, database, theme, plugin).

Quy trình chuẩn là: làm sạch từ tầng core → plugin → theme → database → cấu hình bảo mật → giám sát liên tục. Đầu tư vào plugin và theme bản quyền từ đầu không chỉ giúp website an toàn hơn mà còn tiết kiệm chi phí xử lý sự cố về lâu dài.

Nếu bạn cần hỗ trợ xử lý virus WordPress hoặc nâng cấp bảo mật cho hệ thống, đội ngũ kỹ thuật của Golden Bee IT Solutions sẵn sàng tư vấn và hỗ trợ triển khai.