Kiểm tra mã độc website: công cụ online và cách làm bằng tay

•
•
Khoảng 10 phút đọc

Website chạy bình thường với bạn chưa chắc là website sạch. Mã độc thường được viết để chủ web không thấy, chỉ hiện ra với khách, với người từ Google vào hoặc với người dùng điện thoại. Bài này hướng dẫn kiểm tra mã độc website theo hai lớp: quét bằng công cụ online trước, rồi rà bằng tay những chỗ công cụ không nhìn tới. Cập nhật tháng 10/2026.

Kiểm tra mã độc website là gì và nên bắt đầu từ đâu?

Kiểm tra mã độc website là việc xác định mã lạ có đang nằm trong file, cơ sở dữ liệu hoặc tài khoản quản trị của website hay không. Nên bắt đầu bằng công cụ online vì mất vài phút và không đụng vào hệ thống, sau đó mới rà thủ công nếu nghi ngờ vẫn còn.

Cách nghĩ đơn giản: công cụ online giống việc nhìn website từ bên ngoài, như một người khách. Rà bằng tay giống việc đi vào bên trong, mở từng phòng xem có ai đã vào chưa. Hai việc trả lời hai câu hỏi khác nhau. Câu hỏi đầu là “khách có thấy gì bất thường không”. Câu hỏi sau là “bên trong có gì bất thường không”. Nhiều website qua được bước đầu nhưng vẫn mang cửa hậu bên trong, nên chỉ làm một bước là chưa đủ để kết luận website có bị nhiễm mã độc không.

Nếu bạn đang thấy dấu hiệu cụ thể như bị đẩy sang trang lạ hay bài quảng cáo tự xuất hiện, bài 9 dấu hiệu website WordPress bị nhiễm mã độc sẽ giúp nhận diện nhanh. Bài này tập trung vào cách kiểm tra.

Check mã độc website bằng công cụ online: làm được gì, không làm được gì?

Công cụ quét online đọc trang công khai của bạn và đối chiếu với danh sách đen hoặc mẫu mã độc đã biết. Chúng phát hiện tốt mã chèn lộ ra ngoài, nhưng không đọc được file bên trong hosting. Kết quả “sạch” chỉ có nghĩa là bên ngoài chưa thấy gì.

Ba nơi nên kiểm tra theo thứ tự:

  • Google Search Console, mục Bảo mật và hành động thủ công. Đây là nơi Google báo thẳng nếu họ phát hiện website có nội dung bị hack hoặc phần mềm độc hại.
  • Trang tra cứu an toàn của Google: nhập tên miền vào Google Safe Browsing để xem tên miền có đang bị gắn cờ không.
  • Các công cụ quét bên thứ ba như Sucuri SiteCheck hoặc VirusTotal, dán địa chỉ website vào là có báo cáo, kể cả nhiều engine kiểm tra cùng lúc.

Hai cách phổ biến khác cũng nên biết:

  • Quét bằng plugin bảo mật trên WordPress như Wordfence hoặc Sucuri: plugin đọc được file trong website nên thấy nhiều hơn công cụ online, nhưng kết quả chỉ là gợi ý, cần tự xem lại từng cảnh báo.
  • Tìm site:tenmien.com trên Google để xem có trang spam bị chèn vào hay không, ví dụ trang nội dung cờ bạc, thuốc, hàng giả mà bạn không hề đăng. Kết quả này cũng chỉ là gợi ý, vì Google có thể chưa lập chỉ mục hết các trang bị chèn.
Tiêu chíCông cụ onlineRà bằng tay
Thời gianVài phútTuỳ quy mô website
Cần đăng nhập hostingKhôngCó
Thấy file cửa hậu bên trongThường khôngCó, nếu biết chỗ tìm
Thấy tài khoản admin lạKhôngCó
Rủi ro làm hỏng webKhôngCó, nếu sửa file sai
So sánh công cụ online và rà bằng tay khi kiểm tra mã độc website
Hai cách kiểm tra bổ sung cho nhau, không thay thế nhau.

Cách kiểm tra mã độc website WordPress bằng tay gồm những bước nào?

Rà bằng tay gồm sáu việc: xem danh sách tài khoản, xem plugin, tìm file PHP trong thư mục uploads, kiểm tra file .htaccess, so sánh ngày sửa file và xem mã nguồn trang. Nếu đã thấy dấu hiệu nhiễm, bạn có thể đối chiếu thêm với hướng dẫn website bị hack phải làm sao để xử lý khẩn cấp. Trước khi làm, hãy tải một bản sao lưu về máy để có đường lùi.

  1. Vào Người dùng, lọc vai trò Quản trị viên. Tài khoản bạn không nhận ra, đặc biệt tên kiểu admin_xxxx hay backup_xxxx, là dấu hiệu rất đáng ngờ. Kiểm tra thêm mục Application Passwords trong hồ sơ từng admin, vì mật khẩu ứng dụng lạ cho phép kẻ tấn công vào qua REST API mà đổi mật khẩu đăng nhập không chặn được.
  2. Vào Plugin, xem có plugin nào bạn không cài, tên lạ hoặc không có mô tả. Kẻ tấn công hay đổi tên plugin giả để né các công cụ quét theo tên.
  3. Mở File Manager của hosting, vào wp-content/uploads. Thư mục này chỉ nên chứa ảnh, PDF, tài liệu. Có file đuôi .php trong đó gần như chắc chắn là bất thường.
  4. Mở file .htaccess ở thư mục gốc. Dòng chuyển hướng bạn không viết, hoặc điều kiện kiểm tra “mobile” hay “referer” lạ, cần xem kỹ.
  5. Sắp xếp file theo ngày sửa đổi. Nếu cả thư mục lõi cùng đổi ngày trong một đêm mà bạn không cập nhật gì, hãy dừng lại và cân nhắc nhờ người xử lý.
  6. Xem mã nguồn trang chủ (Ctrl+U), tìm các từ như eval, atob, document.write, hoặc thẻ script trỏ về tên miền bạn không biết. Hàm base64_decode là hàm PHP chạy phía máy chủ nên gần như không hiện ra trong mã nguồn trang; muốn tìm nó, hãy tìm trong các file PHP qua File Manager của hosting hoặc bằng plugin quét.

Lưu ý về kỳ vọng: tìm thấy một thứ lạ là bạn đã có lý do để lo, nhưng không tìm thấy gì chưa chứng minh website sạch. Webshell thường mang tên rất bình thường như common.php hay cookie.php và nằm lẫn giữa các file lõi. Bạn có thể dò thủ công cả buổi mà vẫn bỏ sót.

Trong các website chúng tôi từng xử lý, có trường hợp bản sao lưu wp-config.php.bak bị để công khai trên hosting, và có trường hợp xuất hiện Application Passwords lạ trong hồ sơ tài khoản admin. Đây là những thứ chỉ chắc chắn phát hiện được khi vào hosting và hồ sơ tài khoản để kiểm tra bằng tay, nên lúc mở File Manager bạn nên để ý cả các file sao lưu, không chỉ file PHP.

Website có bị nhiễm mã độc không nếu chỉ lỗi trên điện thoại?

Có thể. Một số mã độc chỉ kích hoạt với người dùng điện thoại, người vào từ Google hoặc người chưa từng truy cập, để chủ web mở bằng máy tính không thấy gì. Cách kiểm tra là mô phỏng đúng những điều kiện đó.

Chủ web thường kiểm tra bằng đúng máy tính của mình, đã đăng nhập, đã có cookie, gõ thẳng tên miền. Đó là điều kiện mà mã độc né nhất. Khi chúng tôi xử lý một hosting dùng chung có khoảng 28 website, nhiều site bị chuyển hướng người dùng điện thoại sang trang cờ bạc, trong khi chủ web mở bằng máy tính thì bình thường. Một số file nhiễm đã nằm đó từ hai năm trước mà không ai hay biết. Vì vậy cần thử bằng điện thoại, qua mạng 4G và đi từ kết quả Google, chứ không chỉ mở bằng máy của chủ web.

Các cách thử thực tế:

  • Dùng điện thoại, tắt Wi-Fi, vào bằng 4G. Mở bằng trình duyệt ẩn danh.
  • Gõ tên website lên Google, bấm vào kết quả thay vì gõ thẳng địa chỉ. Thử cả kết quả hình ảnh nếu có.
  • Nhờ một người ở tỉnh khác, dùng mạng khác, mở thử và gửi ảnh màn hình.
  • Thử vài trang con, không chỉ trang chủ, đặc biệt bài viết cũ và trang sản phẩm.
Điện thoại mở website bị chuyển hướng lạ khi kiểm tra mã độc
Mã độc có thể chỉ hiện ra với điện thoại hoặc người vào từ Google.

Nếu website chuyển hướng thật, bạn nên đọc tiếp cách kiểm tra an toàn khi website bị chuyển hướng sang trang lạ để không vô tình tự làm hỏng thêm.

Khi nào cần gọi người xử lý thay vì tự kiểm tra tiếp?

Nên gọi người xử lý khi đã thấy bất kỳ dấu hiệu nào bên dưới, vì lúc đó mã độc rất có thể không chỉ nằm ở một chỗ. Tự xoá từng file thường chỉ dọn được phần nổi, trong khi cửa hậu vẫn còn.

  • Google Search Console hoặc Chrome đã báo website nguy hiểm.
  • Có tài khoản admin lạ hoặc Application Passwords lạ.
  • Có file PHP trong thư mục uploads, hoặc file lõi bị sửa hàng loạt.
  • Website chuyển hướng với một nhóm người dùng nhất định.
  • Nhiều website cùng chạy chung một tài khoản hosting và có hơn một site nghi ngờ.
  • Bạn đã dọn một lần nhưng vấn đề quay lại.
Checklist khi nào cần gọi người xử lý mã độc website
Gặp một trong các dấu hiệu này thì nên dừng tự sửa.

Dọn lại một lần rồi bị lại là tình huống chúng tôi gặp thật. Sau khi dọn xong hosting nhiều website nói trên, hai tuần sau mã độc quay lại gần y hệt. Nguyên nhân gốc là còn sót các tài khoản quản trị cửa hậu. Vì vậy dọn file chưa đủ, phải rà toàn bộ tài khoản admin và đổi mật khẩu hosting, cơ sở dữ liệu. Chi tiết hơn nằm trong bài vì sao website tái nhiễm mã độc sau khi đã làm sạch.

Nếu bạn muốn giao việc này, trang dịch vụ xử lý mã độc website của HPB Media mô tả quy trình rà quét, dọn và rà lại sau khi dọn. Việc cần tránh là xoá vội: nên sao lưu trước, ghi lại những gì đã thấy, rồi mới xử lý.

Kiểm tra định kỳ thế nào để không phải lo mỗi khi có chuyện?

Kiểm tra định kỳ nghĩa là biến vài việc ở trên thành thói quen hằng tháng, thay vì chỉ làm khi đã có sự cố. Mỗi tháng chỉ cần xem lại tài khoản admin, plugin, cập nhật và bản sao lưu là đã phát hiện được phần lớn bất thường sớm.

Bạn có thể dùng checklist 15 bước tự bảo trì website WordPress hàng tháng làm khung. Ngoài ra, hãy giới hạn số người có quyền quản trị theo hướng dẫn trong bài phân quyền quản trị WordPress an toàn, vì càng ít tài khoản mạnh thì càng ít cửa để kẻ lạ lợi dụng. Với tiêu chuẩn của Google về an toàn tìm kiếm, bạn có thể đọc thêm tại trang trợ giúp Search Console về vấn đề bảo mật.

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

Công cụ quét báo sạch thì website có chắc an toàn không?

Không chắc. Công cụ online chỉ nhìn được phần công khai của website. Cửa hậu, tài khoản admin lạ hoặc mã chỉ kích hoạt với điều kiện riêng có thể vẫn còn bên trong. Nếu còn nghi ngờ, hãy rà thêm bằng tay hoặc nhờ người kiểm tra trực tiếp trên hosting.

Tôi có nên tự xoá file lạ khi tìm thấy không?

Nên sao lưu trước, rồi chụp lại vị trí và tên file. Xoá một file mà không biết nó do đâu sinh ra có thể không giải quyết gì, vì file khác có thể tự chép lại mã độc. Nếu thấy nhiều file lạ, tốt hơn là dừng lại và nhờ người xử lý.

Bao lâu nên kiểm tra mã độc website một lần?

Với website doanh nghiệp, kiểm tra nhanh mỗi tháng là hợp lý: tài khoản admin, plugin, bản sao lưu, cảnh báo trong Search Console. Sau mỗi lần cập nhật lớn hoặc khi nhận thấy tốc độ, nội dung bất thường thì kiểm tra thêm ngay.

Website chỉ chậm hoặc lỗi nhẹ thì có phải nhiễm mã độc không?

Chưa chắc. Chậm có thể do hosting, ảnh nặng hay plugin xung đột. Bạn nên loại trừ nguyên nhân thường gặp trước, nhưng nếu website chậm kèm chuyển hướng lạ, bài lạ hoặc admin lạ, hãy xem đó là dấu hiệu cần kiểm tra mã độc ngay.

Nghi website có mã độc nhưng chưa chắc?

Gửi tên website cho HPB Media, chúng tôi xem giúp bạn tình trạng hiện tại trên cơ sở thông tin bạn cung cấp, và cho bạn biết có nên xử lý hay chưa, trước khi bạn quyết định bước tiếp theo.

Nhắn Zalo 0913 337 280 Gửi yêu cầu tư vấn

Chia sẻ bài viết:
Facebook Zalo

Gọi điện ngay

Liên hệ tư vấn