Quét mã độc WordPress: 3 lớp kiểm tra và cách đọc kết quả quét

5/5 - (1 bình chọn)

Một lượt quét bằng plugin báo “không phát hiện vấn đề” chưa có nghĩa website sạch. Nhiều loại mã độc chỉ hiện nội dung spam cho Googlebot, nằm trong database thay vì file, hoặc tắt luôn plugin quét. Bài này hướng dẫn quét mã độc WordPress theo ba lớp và cách đọc kết quả cho đúng.

Tóm tắt nhanh

Quét mã độc WordPress cần làm từ ba phía: bên ngoài (Search Console, Safe Browsing, công cụ quét trực tuyến, tìm kiếm site: trên Google), bên trong WordPress (plugin quét, so khớp file lõi với bản gốc) và trên máy chủ (công cụ quét của hosting, tìm file PHP lạ, kiểm tra database). Một lớp báo sạch chưa đủ kết luận; cả ba cùng sạch mới đáng tin.

Khi nào cần quét ngay?

  • Khách báo bấm từ Google vào website thì bị chuyển sang trang cá cược, nhưng bạn tự gõ địa chỉ thì vào bình thường.
  • Tìm site:tenmien.com trên Google thấy tiêu đề lạ: tiếng Nhật, tên thuốc, cá cược, hàng hiệu giá rẻ. Trường hợp tiêu đề cá cược đến từ trang tìm kiếm nội bộ hoặc tên miền phụ thì không quét ra mã độc, xem website bị chèn link cờ bạc: xử lý thế nào.
  • Search Console báo “Vấn đề bảo mật” hoặc số trang được lập chỉ mục tăng vọt mà bạn không đăng gì.
  • Xuất hiện tài khoản quản trị không ai biết, hoặc plugin lạ không có trong danh sách bạn cài.
  • Hosting báo vượt tài nguyên, email từ tên miền bị đánh dấu spam hàng loạt.
  • Website từng dùng theme hoặc plugin bản “nulled” tải từ nguồn không chính thức.

Không có dấu hiệu nào thì vẫn nên quét định kỳ, vì loại mã độc giấu kỹ nhất là loại không gây triệu chứng cho tới khi Google gắn cảnh báo.

Lớp 1: quét từ bên ngoài, không cần đăng nhập

Công cụPhát hiện đượcKhông phát hiện được
Search Console: báo cáo Vấn đề bảo mật và Thao tác thủ côngNhững gì Google đã ghi nhận: phần mềm độc hại, trang lừa đảo, nội dung bị chènMã độc mới, chưa bị Google phát hiện
Search Console: Kiểm tra URL → Kiểm tra URL đang hoạt động → Xem trang đã thu thập dữ liệuNội dung Googlebot thực sự nhận được; cách lộ ra mã độc chỉ hiện spam cho bot (cloaking)Phải làm với từng URL
Tìm kiếm site:tenmien.com kèm từ khóa như casino, viagra, slotTrang spam đã được lập chỉ mụcMã độc chưa tạo trang mới
Trạng thái trang web của Google Safe Browsing (Báo cáo minh bạch)Website có đang bị Google đánh dấu nguy hiểm khôngVị trí mã độc
Công cụ quét trực tuyến (ví dụ Sucuri SiteCheck)Script lạ, chuyển hướng, danh sách đen của nhiều nguồnMọi thứ không hiện ra trên trang công khai: cửa hậu, file trong uploads, mã chỉ chạy với một số khách

Mẹo kiểm tra chuyển hướng: mở website trên điện thoại dùng 4G, ở chế độ ẩn danh, bằng cách bấm từ kết quả tìm kiếm Google. Nhiều mã độc chỉ chuyển hướng khách đến từ Google, đến từ di động, và chỉ một lần mỗi người, nên quản trị viên đã đăng nhập không bao giờ thấy.

Quy trình quét mã độc WordPress từ bên ngoài, trong WordPress và trên máy chủ

Lớp 2: quét bên trong WordPress

Plugin quét bảo mật như Wordfence so sánh file lõi, theme và plugin miễn phí với bản gốc trên WordPress.org, đối chiếu mẫu mã độc đã biết và kiểm tra tài khoản. Hai giới hạn cần biết: bản miễn phí của Wordfence nhận quy tắc tường lửa và mẫu mã độc mới chậm hơn bản trả phí khoảng 30 ngày; và plugin chạy bên trong WordPress nên mã độc đã chiếm quyền có thể vô hiệu hóa hoặc né nó.

So khớp file với bản gốc bằng WP-CLI (nếu hosting có SSH). Đây là cách nhanh nhất để biết file lõi có bị sửa không:

  • wp core verify-checksums: báo file lõi bị sửa và file lạ nằm trong thư mục lõi.
  • wp plugin verify-checksums --all: so plugin tải từ WordPress.org với bản gốc. Plugin trả phí không có dữ liệu đối chiếu, phải so với gói tải từ tài khoản đã mua.
  • wp user list --role=administrator: liệt kê toàn bộ quản trị viên để rà tài khoản lạ.

Không có SSH thì dùng tính năng so sánh file của plugin quét, hoặc tải bộ cài WordPress đúng phiên bản về so bằng phần mềm so sánh thư mục.

Lớp 3: quét trên máy chủ và trong database

Nhiều hosting cPanel, DirectAdmin có sẵn trình quét như ImunifyAV hoặc Imunify360. Ưu điểm là quét được cả file mà WordPress không tải tới, như script đặt trong thư mục ảnh hoặc ngoài thư mục website. Kết quả nên được đọc cùng các kiểm tra thủ công dưới đây.

  • File PHP trong wp-content/uploads: thư mục này chỉ nên chứa ảnh, tài liệu. Một file .php nằm ở đây hầu như luôn là cửa hậu.
  • File mới sửa gần đây: lọc file .php được sửa trong 7–30 ngày qua, đối chiếu với lần cập nhật plugin gần nhất. File sửa vào giờ không ai làm việc là đầu mối tốt.
  • File có tên giả dạng: tên gần giống file lõi (wp-confg.php, wp-load-cache.php), file ẩn bắt đầu bằng dấu chấm, file trong thư mục mu-plugins mà bạn không cài.
  • Đoạn mã bị làm rối: chuỗi dài vô nghĩa đi cùng eval, base64_decode, gzinflate, str_rot13. Plugin hợp lệ đôi khi cũng dùng các hàm này, nên cần xem file nằm ở đâu và có khớp bản gốc không.
  • .htaccess và wp-config.php: quy tắc chuyển hướng theo trình duyệt hoặc nguồn truy cập, dòng auto_prepend_file lạ.
  • Database: bảng options có giá trị siteurl, home bị đổi; danh sách plugin kích hoạt có tên lạ; bài viết, trang, widget chứa thẻ <script> hoặc <iframe> trỏ ra tên miền lạ; tác vụ cron lạ.

Đọc kết quả quét thế nào cho đúng?

Kết quảNghĩa làViệc tiếp theo
File lõi bị sửaRất có khả năng đã bị xâm nhậpThay toàn bộ lõi bằng bản gốc, tìm tiếp cửa hậu ở theme, plugin, uploads
Plugin miễn phí khác bản gốcBị chèn mã, hoặc ai đó sửa tayXóa và cài lại từ WordPress.org
Cảnh báo “mã có thể độc hại” trong plugin trả phíCó thể là cảnh báo nhầm do plugin dùng mã hóa bản quyềnSo với bản tải từ tài khoản đã mua trước khi xóa
Plugin bỏ rơi, có lỗ hổng đã công bốChưa phải mã độc, nhưng là cửa để vàoThay plugin khác hoặc gỡ
Ba lớp đều sạch nhưng Google vẫn cảnh báoMã độc nằm ở database, hoặc chỉ hiện cho Googlebot, hoặc cảnh báo cũ chưa được xem xét lạiDùng Kiểm tra URL đang hoạt động; rà database

Đừng xóa file ngay khi thấy cảnh báo. Xóa nhầm file của plugin có thể làm website lỗi; xóa đúng file mã độc nhưng chưa tìm ra đường vào thì vài ngày sau lại bị. Trước khi xóa, sao lưu nguyên trạng (kể cả bản đang nhiễm) để còn đối chiếu.

Phát hiện mã độc rồi thì làm gì?

Thứ tự xử lý khi đã xác nhận bị xâm nhập: cách ly, đổi toàn bộ mật khẩu và khóa bí mật, làm sạch file và database, vá lỗ hổng đã cho kẻ tấn công vào, rồi mới gửi yêu cầu Google xem xét lại. Các bước chi tiết, kể cả nghĩa vụ khi lộ dữ liệu khách hàng, nằm trong bài website bị hack phải làm gì.

Website có backlink spam hàng loạt, bị chuyển hướng hoặc đã có cảnh báo đỏ của Google thường cần người làm kỹ thuật. Dịch vụ xử lý mã độc WordPress của Marketing SEO Top có gói cơ bản 1,5 triệu (quét, gỡ mã độc, xóa chuyển hướng) và gói đầy đủ 3 triệu (thêm dọn trang spam, khôi phục và gia cố); trường hợp có cửa hậu nhiều lớp được báo giá sau khi kiểm tra.

Lịch quét gợi ý để phát hiện sớm

Tần suấtViệc làm
Hằng tuầnXem email cảnh báo của plugin bảo mật và Search Console; lướt danh sách quản trị viên
Hằng thángQuét đầy đủ bằng plugin; so khớp file lõi; tìm site:tenmien.com kèm từ khóa spam
Sau mỗi sự cố hoặc khi đổi người quản trịQuét cả ba lớp, đổi mật khẩu, rà plugin và tài khoản

Quét chỉ phát hiện; giảm khả năng bị nhiễm nằm ở việc cập nhật đều và không dùng phần mềm lậu. Thứ tự các việc bảo mật nên làm trước có trong bài cách bảo mật website tránh bị hack, và quy trình cập nhật hằng tháng ở bài cập nhật WordPress an toàn. Nếu muốn có người làm định kỳ, xem bảo trì WordPress.

Nguồn tra cứu tháng 10/2026: tài liệu Search Console về báo cáo Vấn đề bảo mật và công cụ Kiểm tra URL (support.google.com/webmasters); tài liệu lệnh checksum của WP-CLI (developer.wordpress.org/cli); trang so sánh bản miễn phí và trả phí của Wordfence.

Câu hỏi thường gặp

Quét mã độc WordPress online miễn phí có chính xác không?

Chính xác với những gì hiện ra trên trang công khai, như script lạ hay chuyển hướng. Công cụ online không đọc được file trên hosting và database, nên không thấy cửa hậu. Kết quả “sạch” từ công cụ online chỉ là một lớp kiểm tra.

Vì sao tự vào website thấy bình thường mà khách bị chuyển sang trang lạ?

Mã độc thường chọn nạn nhân: chỉ chuyển hướng khách đến từ Google, dùng điện thoại, chưa đăng nhập, và chỉ một lần mỗi người. Hãy thử bằng điện thoại dùng 4G, cửa sổ ẩn danh, bấm vào website từ kết quả tìm kiếm.

Cài nhiều plugin bảo mật cùng lúc có quét kỹ hơn không?

Không nên. Hai plugin tường lửa, quét file chạy song song dễ xung đột, làm website chậm và báo lỗi chồng chéo. Dùng một plugin trong WordPress, kết hợp công cụ quét của hosting và kiểm tra từ bên ngoài là đủ ba lớp.

Quét mã độc có làm website chậm không?

Lượt quét đầy đủ bằng plugin tốn tài nguyên hosting trong lúc chạy, website có thể chậm vài phút, nhất là trên gói hosting nhỏ. Hãy đặt lịch quét vào giờ ít truy cập; quét từ bên ngoài và quét của hosting không ảnh hưởng tốc độ trang.

Website bị chèn trang spam tiếng Nhật thì quét ở đâu?

Kiểu này thường để lại file trong thư mục gốc hoặc uploads, sửa .htaccess và tạo sitemap giả. Hãy tìm file PHP lạ, kiểm tra .htaccess, xem báo cáo Sơ đồ trang web trong Search Console có sitemap nào bạn không gửi, rồi xóa và yêu cầu Google gỡ các URL spam.

Cần người làm giúp phần này?

Mô tả ngắn nhu cầu hoặc gửi link website. Chúng tôi phản hồi bằng đánh giá cụ thể trước khi báo giá.

    Để lại một 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 *

    Gửi tin nhắn Facebook Messenger Chat Zalo