Web design, Wordpress

Hướng dẫn loại bỏ mã độc khỏi WordPress bị hack triệt để

WordPress là một nền tảng mở, mặc dù Core của WordPress rất hoàn thiện và được fix liên tục, nhưng rất nhiều...

Written by Tú Cao · 5 min read >
Làm gì khi Website bị nhiễm mã độc.

WordPress là một nền tảng mở, mặc dù Core của WordPress rất hoàn thiện và được fix liên tục, nhưng rất nhiều Website sử dụng WordPress bị tấn công chèn mã độc … trong bài viết này Tú sẽ hướng dẫn các bạn khôi phục Website WordPress một cách nhanh chóng và Tú tin chắc có thể giúp bạn làm sạch hoàn toàn mã độc khỏi Website của mình.

Làm gì khi Website bị nhiễm mã độc.
Làm gì khi Website bị nhiễm mã độc.

Nguyên nhân gì khiến Website của bạn bị hack

  • Cài đặt các plugin kém an toàn: Plugin là các thành phần mở rộng giúp Website có thêm các tính năng theo nhu cầu. Mặc dù đội ngũ quản lý WordPress.org họ có kiểm duyệt các plugin từ cộng đồng đóng góp trên WordPress.Org tuy nhiên không thể tránh khỏi việc nhiều plugin có các lỗ hổng, hoặc theo thời gian không được vá lỗi nên hacker dễ dàng khai thác. Cách tốt nhất khi chọn plugin là ưu tiên plugin được tác giả cập nhật thường xuyên, được vote cao (Ngoài ra cũng xem các plugin đó những người Vote 1 sao, lý do vì sao họ lại cho đánh giá thấp như vậy)
  • Sử dụng dịch vụ Share Hosting: Lỗ hổng phát sinh từ Server mà bạn đang thuê. (Share Hosting là nơi lưu trữ rất nhiều Website trong đó có bạn) khi một Website bị xâm nhập thành công, bằng một số thủ thuật nào đó hacker có thể từ site A và chiếm quyền kiểm soát của site B.
  • Sử dụng theme miễn phí, không bản quyền (Null): Đây là nguyên nhân phổ biến nhất. Rất nhiều theme trên mạng được share và tải miễn phí. Nhưng khi bạn tải themes thì hacker (hoặc người chia sẻ) đã chèn một đoạn mã độc vào bên trong đó nên quá dễ dàng để họ khai thác. Lời khuyên là sử dụng themes có bản quyền, hoặc themes miễn phí từ nguồn uy tín.

Website bị hack cần phải làm những gì ?

Bạn cần phải làm sạch bộ code (dữ liệu của website bao gồm các file lập trình và hình ảnh) và làm sạch Database (chứa nội dung bài viết). Bởi hacker đều có thể cấy virus (ở trên web nếu nhiễm mã độc thì gọi là shell) trên những dữ liệu đó.

Với bộ Code: Nếu bạn còn bản Backup từ trước đó bạn có thể sử dụng lại, hoặc nếu không có cách tốt nhất là nên bỏ đi và sử dụng bộ code mới. Bởi việc quét bằng phần mềm diệt virus có thể không sạch, cách tìm thủ công thì không được vì có tới hàng ngàn file và bạn có thể bị bỏ sót.

Với bộ Databse: Bạn có thể kiểm tra trong phpmyadmin bằng cách search từ khóa “base64” – hầu hết shell đều được mã hóa bằng đoạn này. Nếu tìm ra kết quả nào thì phải xem kỹ phần đó.

Tìm kiếm Shell trong Database
Tìm kiếm Shell trong Database

Tuy nhiên làm vậy hơi phức tạo, và có thể bạn xử lý không kỹ. Trong bài viết này, Tú sẽ chia sẻ cho các bạn một cách đơn giản hơn để loại bỏ shell hoàn toàn đó là trích xuất các bài viết.

Hướng dẫn xử lý Website WordPress bị nhiễm mã độc

Bước 1: Bạn sao lưu (backup) dữ liệu bản Website hiện tại, và tải về máy. (làm gì cũng phải sao lưu lại trước tiên)

Bước 2: Tại Website của bạn đang bị nhiễm mã độc. Bạn vào Tools => Chọn Export => Chọn All content và nhấn Download Export File

(Bước này sẽ giúp bạn xuất tất cả bài viết, trang của Website ra một file xml, mà file này theo chuẩn của WordPress nên nó sẽ tự động bỏ các bảng dữ liệu không thuộc code WordPress)

Xuất dữ liệu bài viết, trang ra file XML
Xuất dữ liệu bài viết, trang ra file XML

Bước 3: Bạn truy cập trang WordPress.org và tải bản WordPress mới nhất về để cài đặt mới trên host.

(Chúng ta dùng một bộ code mới nên 100% là sạch hoàn toàn nhé 🙂 ).

Bước 4: Bạn copy thư mục wp-content/uploads ở dữ liệu bạn đã backup ở bước 1.

Và mở từng thư mục trong này ra để làm sạch, làm sạch thư mục này khá đơn giản đó là xóa tất cả file nào KHÔNG có phần mở rộng .jpg .gif .png

Bước 5: Tải thư mục uploads bạn đã làm sạch ở trên lên Hosting đã cài đặt trang WordPress mới ở bước 3 (Tải vào thư mục tương ứng wp-content/uploads)

Bước 6: Bạn đăng nhập vào trang WordPress mới đã cài đặt ở bước 3.

Truy cập vào Tools => Import => WordPress (Click vào chữ WordPress đề cài đặt tính năng cho phép import dữ liệu vào Website)

Cài đặt tính năng khôi phục bài viết của WordPress
Cài đặt plugin khôi phục bài viết của WordPress

Tiếp tục click lại vào Tools => chọn Import

Bây giờ bạn chọn file đã Export ở bước 2 và nhấn Upload and Import và làm theo hướng dẫn. (Chọn tên tác giả)

Chọn file bạn đã Export ở trên và Import vào đây
Chọn file bạn đã Export ở trên và Import vào đây

Vậy là hoàn tất.

Bây giờ bạn đã có một Website với 1 bộ code gốc của WordPress sạch, một database chứa đầy đủ các bài viết của WordPress. Tiếp đến cài đặt lại giao diện và cấu hình lại là Website có thể hoạt động bình thường.

Đừng quên sau khi Website đã được cấu hình tốt và chạy được rồi, bạn nên backup 1 bản dự phòng để sau này không phải làm lại code nhé. Nếu muốn tăng tính bảo mật thì cài đặt thêm plugin Wordfence – Plugin này sẽ hỗ trợ bạn bảo mật sau này.

Chúc bạn thành công, nếu cần hỗ trợ. Hãy để lại bình luận bên dưới.

Written by Tú Cao
Tôi là Tú Cao. Tôi chia sẻ và dạy mọi người cách kinh doanh trên Internet. Bởi vì "Hạnh phúc không phải là nhận, hạnh phúc chính là sự cho đi". Bài viết này dựa trên quan điểm, hiểu biết của Tôi. Bạn tự cân nhắc và chịu trách nhiệm khi làm theo, nếu nó hữu ích với bạn hãy Mời Tú Cao một tách CÀ PHÊ. Profile

29 Replies to “Hướng dẫn loại bỏ mã độc khỏi WordPress bị hack triệt để”

  1. Cảm ơn Tú, bài viết khá hay, nhất là việc export database, tuy đơn giản nhưng nếu chưa từng bị hack thì lúc đó cũng ko nghĩ đến cách nay.
    Tuy nhiên, mình muốn bổ sung là có nhiều hacker chuyển các file shell script nhìn giống y chang file .png hoặc .jpg, cũng đuôi file như vậy. Nhưng khi mở qua trình duyệt thì lại chạy như một file .php. Mình đã từng gặp, nên phải cẩn thận kiểm tra các file trong thư mục uploads. Có một security plugin có phần cấu hình ko cho thực thi file .php trong thư mục upload mà mình quên tên rồi nhưng chắc chắc nó là một trong top 3 security plugin cho wordpress.

    1. mình cũng bị rất nhiều ảnh giống nhau bác ạ, phải làm sao

  2. Cảm ơn TÚ,
    Cho mình hỏi thêm là site mình database nặng quá nên tải về toàn lỗi. Có cách nào để export không bạn

  3. Cảm ơn anh Tú,
    Em xin phép phân tích bài viết này để đưa ra 1 cách chi tiết hơn được chứ ạ?

  4. Em cũng đang đau đầu với web bị hack đây 🙁 Bác cho e hỏi ngoài cách backup dữ liệu và up lại code mới thì có những kết quả link 404 mà google index có cần vào webmaster khai báo xóa ko ak. Trang e đang bị hack đây ak : http://chuatridalieu.com/

    1. Chào bạn,
      Bạn cần làm 2 thao tác
      1- Redirect các trang lỗi 404 về trang chủ, hoặc dùng meta robots chặn các trang này với giá trị là noindex.
      2- Vào google webmaster tools thường xuyên đánh dấu các lỗi 404 là cố định.

      Chúc bạn thành công.

  5. Bạn ơi, website bị virus, index google toàn tiếng nhật, tàu. Webmaster báo lỗi 404, khắc phục như nào ạ.
    Mong được giúp đỡ !

    1. Website đã bị hack bạn nhé, trong bài mình có hướng dẫn kỹ các bước và trường hợp của bạn.

  6. Mình import database thì wordpress nó báo lỗi sau. Mình nên làm gì hả bạn?

    Sorry, there has been an error.
    File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.

    1. Chào bạn,
      Trường hợp này là do database của bạn upload lên quá lớn (nó vượt mức quy định trong php.ini). Có 2 cách bạn giải quyết.
      1- Liên hệ với đơn vị cấp hosting nâng thông số upload_max_filesize trong php.ini
      2- Bạn có thể import bằng 1 cách khác (VD sử dụng tool như Sypex Dumper xem tại https://nguyencaotu.com/huong-dan-backuprestore-sao-luu-khoi-phuc-database-co-so-du-lieu-website-voi-sypex-dumper.html ).

  7. a cho e facebook a đk k ạ , e có một vấn đề up ảnh a mới biết đk
    cảm ơn a

    1. Chào em,
      Em có thể tải ảnh lên đâu đó và comment trong bài viết này. Cách này có thể giúp bạn nào đó cùng vấn đề tương tự có thể giải quyết ngay vấn đề của mình khi họ tìm.

  8. Em đang định cài một theme nulled,em thì không biết về code. kiểm tra plugin TAC thì báo một số lỗi sau, các bác xem giúp em đây có phải mã hóa shell, …… nguy hiểm không ạ.
    Trong archive.php
    $setup42_searchpagemap_style = base64_encode( strip_tags( $setup42_searchpagemap_style ));

    Trong category.php
    $setup42_searchpagemap_style = base64_encode( strip_tags( $setup42_searchpagemap_style ));

    Trong search.php
    $setup42_searchpagemap_style = base64_encode( strip_tags( $setup42_searchpagemap_style ));

    1. Chào em,
      Đoạn kia chỉ là encode theo cái base64 thôi, ko có gì nguy hiểm ở đó. Nhưng những phần còn lại trong website thì mình ko biết. Việc tải theme null và các thứ miễn phí từ nguồn không rõ ràng tiềm ẩn nhiều nguy cơ. Nên cân nhắc nguồn uy tín hoặc mua từ tác giả.

  9. có bác nào quét được virut favacon.ico ko, mình search và xóa toàn bộ code mã hóa include@, với xóa file mở rộng .ico mà hôm sau nó lại đâu vào đó, có ai giúp mình ko

  10. Bài viết của bạn rất hay và thiết thực
    Tiện đây cho mình hỏi chút , mình thấy rất nhiều website Việt Nam trong đó có web của mình được một trang web có tên là https://mirror-h.org/search/country/VN/ , liệt kê là đã bị Hack ,nhưng kiểm tra mọi cái kể cả Web master , cũng ko vấn đề gì, hay sử dụng site : domain , kết quả vẫn index binh thường, Hay là các website này đang bị hacker nhòm ngó hả bạn, mình cũng ko biết nữa , cảm thấy hơi hoang mang, nếu bạn có đọc thì , trả lời giúp mình vấn đề này nhé , cảm ơn bạn rất nhiều

    1. Nó báo bị hack nhưng chưa chắc, rất nhiều công cụ check lung tung rồi hướng ng dùng trả tiền cho họ để thuê dịch vụ. Hãy cẩn thận và đừng hoang mang quá.

  11. Em chào anh. Web em rơi vào tình trạng bị hack khi truy cập tìm kiếm google click vào website của bên em thì nó tự động redit sang 1 file khác, em đã xóa code hack ở file index và config nhưng 1 thời gian nó lại bị lại. Anh cho em hỏi làm theo cách của anh có làm sạch đươc hết không ạ.

    1. Chào em.

      Nếu em chỉ dừng lại ở nếu bị hack thì backup lại thì không thể. Bởi bản chất vấn đề chưa được giải quyết. Em cần update các plugin, themes, core của WordPress . Với những Plugin nào không được tác giả nâng cấp, hãy cố gắng chuyển qua 1 plugin khác.

  12. Anh ơi em bị dính trường hợp là không hiểu sao title tag và meta e đầy đủ nhưng lại bị dính empty title tag và cái thứ 2 nữa đó là file robot txt của em không biết vì sao bị thay đổi không rõ nguyên nhân trong khi em check ở trên web của em thì mọi thứ đều okie nhưng mà check domain/robots.txt thì khác hoàn toàn. Em mong anh giúp em với ạ ! Website của em là http://tacvang.com.vn

    1. Chào bạn,

      Title tag bạn bị báo lỗi ko có title ở đâu? Mô tả như trên mình vẫn chưa hiểu được, vừa vào thử wesite bạn thì cũng ko có gì bất thường cảm.

      File robots.txt của bạn chỉ sai cái link về sitemap thiếu https thôi. FIle này nằm ở thư mục gốc, có thể là bạn sửa hoặc một số plugin của wordpress cũng có thể tạo và chỉnh sửa file này.

  13. Web của mình bị hack thêm bài viết, nhưng mình vào quản trị để tìm bài viết đó thì không thấy đâu cả. Tú cho mình hỏi làm thế nào để tìm được bài viết đó nhỉ? Trân trọng!

Trả lời

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 *