Hướng dẫn này được tạo riêng cho một kiểu tấn công bằng cách thêm các trang vô nghĩa nhiều từ khoá vào trang web của bạn, mà chúng tôi gọi là tấn công liên kết và từ khoá bị che giấu. Hướng dẫn được thiết kế cho người dùng của Hệ thống quản lý nội dung (CMS) phổ biến, nhưng bạn sẽ thấy hướng dẫn này hữu ích ngay cả khi bạn không sử dụng CMS.
Chúng tôi muốn đảm bảo rằng hướng dẫn này thực sự hữu ích cho bạn. Hãy để lại phản hồi để giúp chúng tôi cải thiện!
Xác định kiểu tấn công này
Tấn công bằng liên kết và từ khóa bị che giấu tự động tạo nhiều trang có văn bản, đường liên kết và hình ảnh vô nghĩa. Các trang này đôi khi chứa các thành phần mẫu cơ bản từ trang web gốc. Vì vậy, khi mới nhìn thoáng qua, các trang có thể trông giống như các phần bình thường trên trang web của bạn cho đến khi bạn đọc nội dung.
Các trang bị tấn công được tạo ra để thao túng các yếu tố xếp hạng của Google. Tin tặc thường cố gắng kiếm tiền từ điều này bằng cách bán các liên kết trên các trang bị tấn công cho bên thứ ba khác. Thông thường, các trang bị tấn công cũng sẽ chuyển hướng khách truy cập đến một trang không liên quan nơi tin tặc có thể kiếm tiền.
Hãy bắt đầu bằng cách kiểm tra công cụ Vấn đề bảo mật trong Search Console để xem liệu Google có phát hiện thấy bất kỳ trang nào bị tấn công trên trang web của bạn hay không. Đôi khi, bạn cũng có thể phát hiện các trang như thế này bằng cách mở cửa sổ
Google Tìm kiếm và nhập site:_your site url_
, với URL cấp cơ sở
của trang web của bạn. Báo cáo này sẽ hiển thị cho bạn các trang mà Google đã lập chỉ mục cho trang web của bạn,
bao gồm các trang bị tấn công. Lướt qua một vài trang kết quả tìm kiếm để xem bạn có phát hiện bất kỳ URL bất thường nào không. Nếu bạn không thấy bất kỳ nội dung bị tấn công nào trong Google Tìm kiếm, hãy sử dụng các cụm từ tìm kiếm tương tự với công cụ tìm kiếm khác. Dưới đây là ví dụ về thành phần sẽ trông như sau:
![Kết quả tìm kiếm do kiểu tấn công này tạo ra.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/search-results-generated.png?authuser=5&hl=vi)
Thông thường, khi nhấp vào đường liên kết đến một trang bị tấn công, bạn sẽ được chuyển hướng đến một trang web khác hoặc thấy một trang đầy nội dung vô nghĩa. Tuy nhiên, bạn cũng có thể thấy thông báo cho biết trang không tồn tại (ví dụ: lỗi 404). Đừng để bị lừa! Tin tặc sẽ cố gắng lừa bạn nghĩ rằng trang đã biến mất hoặc đã được khắc phục trong khi trang vẫn bị tấn công. Họ làm điều này bằng cách che giấu nội dung. Hãy kiểm tra che giấu bằng cách nhập các URL thuộc trang web của bạn vào Công cụ kiểm tra URL. Công cụ Tìm nạp như Google cho phép bạn xem nội dung bị ẩn.
Nếu bạn thấy những vấn đề này thì rất có thể trang web của bạn đã bị ảnh hưởng bởi loại tấn công này.
![Một trang ví dụ do vụ tấn công này tạo ra.](https://web.dev/static/articles/fix-the-cloaked-keywords-hack/image/an-example-page-created-cc79e3659cd4c.png?authuser=5&hl=vi)
Khắc phục tấn công
Trước khi bắt đầu, hãy tạo một bản sao ngoại tuyến của bất kỳ tệp nào trước khi bạn xoá tệp, phòng trường hợp bạn cần khôi phục tệp sau này. Tốt hơn là bạn nên sao lưu toàn bộ trang web của mình trước khi bắt đầu quá trình dọn dẹp. Bạn có thể thực hiện việc này bằng cách lưu tất cả các tệp trên máy chủ vào một vị trí ngoài máy chủ hoặc tìm các lựa chọn sao lưu tốt nhất cho Hệ thống quản lý nội dung (CMS) cụ thể của bạn. Nếu bạn đang sử dụng CMS, hãy sao lưu cả cơ sở dữ liệu.
Kiểm tra tệp .htaccess
(3 bước)
Tấn công bằng liên kết và từ khóa bị che giấu sử dụng tệp .htaccess
để tự động tạo các trang bị che giấu trên trang web của bạn. Việc tự làm quen với các Kiến thức cơ bản về .htaccess
trên trang web chính thức của Apache có thể giúp bạn hiểu rõ hơn về cách mà tấn công đang ảnh hưởng đến trang web của bạn (không bắt buộc).
Bước 1
Tìm tệp .htaccess
trên trang web của bạn. Nếu bạn không biết chắc nên tìm tệp ở đâu và đang sử dụng CMS như WordPress, Joomla hoặc Drupal, hãy tìm " vị trí tệp htaccess" trong một công cụ tìm kiếm cùng với tên CMS của bạn.
Tuỳ thuộc vào trang web, bạn có thể thấy nhiều tệp .htaccess
.
Tạo danh sách tất cả vị trí tệp .htaccess
.
Bước 2
Mở tệp .htaccess
để xem nội dung trong tệp đó. Tìm một dòng mã có dạng như sau:
RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]
Các biến trên dòng này có thể thay đổi. Cả cj2fa
và tobeornottobe
đều có thể kết hợp giữa chữ cái hoặc từ bất kỳ. Điều quan trọng là phải xác định .php
được tham chiếu trong dòng này.
Ghi lại tệp .php
được đề cập trong tệp .htaccess
. Trong ví dụ, tệp .php
có tên là injected_file.php
, nhưng trên thực tế, tên tệp sẽ không hiển thị rõ ràng. Đó thường là một tập hợp ngẫu nhiên các từ vô hại như horsekeys.php
hoặc potatolake.php
. Đây có thể là một tệp .php
độc hại mà chúng tôi sẽ cần theo dõi và xoá sau.
Bước 3
Thay thế tất cả tệp .htaccess
bằng phiên bản sạch hoặc mặc định của tệp .htaccess
. Thường thì bạn có thể tìm thấy phiên bản mặc định của tệp .htaccess
bằng cách tìm "tệp .htaccess
mặc định" và tên CMS của bạn. Đối với các trang web có nhiều tệp .htaccess
, hãy tìm một phiên bản sạch của từng tệp và thực hiện thay thế.
Nếu không có tệp .htaccess
mặc định nào và bạn chưa từng định cấu hình tệp .htaccess
trên trang web của mình, thì tệp .htaccess
mà bạn tìm thấy trên trang web đó có thể là tệp độc hại.
Hãy lưu một bản sao của(các) tệp .htaccess
khi không có mạng để phòng trường hợp cần lưu bản sao đó trên trang web của bạn.
Tìm và xoá các tệp độc hại khác (5 bước)
Việc xác định các tệp độc hại có thể rất phức tạp và tốn thời gian. Hãy dành thời gian kiểm tra tệp của bạn. Nếu bạn chưa di chuyển, đây là thời điểm tốt để sao lưu các tệp trên trang web của bạn. Hãy tìm kiếm "sao lưu trang web" và tên của CMS của bạn trên Google để tìm hướng dẫn về cách sao lưu trang web của bạn.
Bước 1
Nếu bạn sử dụng CMS, hãy cài đặt lại tất cả các tệp chính (mặc định) có trong bản phân phối mặc định của CMS, cũng như mọi nội dung bạn có thể đã thêm vào (chẳng hạn như giao diện, mô-đun, trình bổ trợ). Điều này giúp đảm bảo rằng các tệp này không có nội dung bị tấn công. Bạn có thể tìm kiếm "cài đặt lại" kèm theo tên CMS của mình trên Google để tìm hướng dẫn cài đặt lại. Nếu bạn có bất kỳ trình bổ trợ, mô-đun, tiện ích hay chủ đề nào, hãy nhớ cài đặt lại các trình bổ trợ, mô-đun, tiện ích đó.
Bước 2
Bắt đầu bằng cách tìm tệp .php
mà bạn đã xác định trong tệp .htaccess
trước đó. Tuỳ thuộc vào cách bạn truy cập vào các tệp trên máy chủ của mình, bạn sẽ có một số loại chức năng tìm kiếm. Tìm tên tệp độc hại. Nếu bạn tìm thấy tệp, trước tiên, hãy sao lưu và lưu trữ tệp ở một vị trí khác phòng trường hợp bạn cần khôi phục, sau đó xoá tệp khỏi trang web của bạn.
Bước 3
Tìm mọi tệp độc hại hoặc bị xâm phạm còn lại. Có thể bạn đã xoá tất cả các tệp độc hại ở 2 bước trước, nhưng tốt nhất bạn nên thực hiện vài bước tiếp theo phòng khi trang web của bạn còn nhiều tệp bị xâm phạm hơn.
Đừng choáng ngợp khi nghĩ rằng bạn cần mở và xem qua mọi tệp PHP. Hãy bắt đầu bằng cách tạo một danh sách các tệp PHP đáng ngờ mà bạn muốn điều tra. Dưới đây là một số cách để xác định tệp PHP đáng ngờ:
- Nếu bạn đã tải lại các tệp CMS, hãy chỉ xem các tệp không thuộc tệp hoặc thư mục CMS mặc định của bạn. Điều này sẽ loại bỏ nhiều tệp PHP và bạn chỉ cần xem một số tệp còn lại.
- Sắp xếp các tệp trên trang web của bạn theo ngày sửa đổi lần cuối. Tìm các tệp đã được sửa đổi trong vòng vài tháng kể từ lần đầu tiên bạn phát hiện ra trang web của mình bị tấn công.
- Sắp xếp các tệp trên trang web của bạn theo kích thước. Tìm bất kỳ tệp nào có kích thước lớn bất thường.
Bước 4
Khi bạn đã có danh sách các tệp PHP đáng ngờ, hãy kiểm tra xem chúng có độc hại không. Nếu bạn không quen thuộc với PHP, quá trình này có thể tốn nhiều thời gian hơn, vì vậy, hãy cân nhắc việc xem một số tài liệu PHP. Nếu hoàn toàn không biết gì về lập trình, bạn nên yêu cầu trợ giúp. Trong thời gian chờ đợi, có một số mẫu cơ bản mà bạn có thể tìm để xác định các tệp độc hại.
Nếu bạn sử dụng CMS và không có thói quen chỉnh sửa trực tiếp các tệp đó, hãy so sánh các tệp trên máy chủ của bạn với danh sách các tệp mặc định đi kèm với CMS cũng như mọi trình bổ trợ và giao diện. Tìm các tệp không thuộc về, cũng như các tệp lớn hơn phiên bản mặc định.
Trước tiên, hãy quét qua các tệp đáng ngờ mà bạn đã xác định để tìm các khối văn bản lớn có tổ hợp các chữ cái và số có vẻ lộn xộn. Khối văn bản lớn thường đứng sau tổ hợp các hàm
PHP như base64_decode
, rot13
, eval
, strrev
hoặc gzinflate
.
Sau đây là ví dụ về hình thức của khối mã đó. Đôi khi toàn bộ mã này sẽ được nhồi nhét vào một dòng văn bản dài, khiến mã trông nhỏ hơn so với thực tế.
// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.
base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));
Đôi khi mã không bị lộn xộn và trông giống như tập lệnh bình thường. Nếu bạn không chắc liệu mã có hại hay không, hãy ghé thăm Diễn đàn trợ giúp quản trị trang web của chúng tôi, tại đó một nhóm quản trị viên web có kinh nghiệm có thể giúp bạn xem các tệp.
Bước 5
Giờ khi bạn đã biết tệp nào đáng ngờ, hãy tạo bản sao lưu hoặc bản sao cục bộ bằng cách lưu các tệp đó vào máy tính, phòng trường hợp có tệp nào không độc hại và xoá các tệp đáng ngờ khỏi trang web của bạn.
Kiểm tra xem trang web của bạn có sạch hay không
Khi bạn đã hoàn tất việc loại bỏ các tệp bị tấn công, hãy kiểm tra xem nỗ lực của bạn có được đền đáp không. Bạn có nhớ những trang vô nghĩa mà bạn đã xác định trước đó không? Hãy sử dụng lại công cụ Tìm nạp như Google để xem các trang đó còn tồn tại hay không. Nếu Tìm nạp như Google phản hồi với trạng thái "Không tìm thấy" thì có khả năng bạn đã thành công và có thể chuyển sang khắc phục các lỗ hổng bảo mật trên trang web của mình.
Làm cách nào để tôi ngăn chặn việc bị tấn công lại?
Việc khắc phục các lỗ hổng trên trang web là bước thiết yếu cuối cùng để sửa lỗi trang web. Một nghiên cứu gần đây đã phát hiện ra rằng 20% trang web bị tấn công lại trong vòng một ngày. Việc biết chính xác cách thức trang web của bạn bị tấn công rất hữu ích. Hãy đọc hướng dẫn các cách hàng đầu mà trang web bị người gửi spam tấn công để bắt đầu điều tra. Tuy nhiên, nếu bạn không thể tìm ra cách thức trang web của mình bị tấn công, sau đây là danh sách kiểm tra gồm những điều bạn có thể làm để giảm các lỗ hổng bảo mật trên trang web của mình:
- Thường xuyên quét máy tính của bạn: Sử dụng bất kỳ trình quét virus phổ biến nào để kiểm tra virus hoặc các lỗ hổng.
- Thay đổi mật khẩu thường xuyên: Việc thường xuyên thay đổi mật khẩu cho tất cả tài khoản trang web như nhà cung cấp dịch vụ lưu trữ, FTP và CMS có thể ngăn chặn hành vi truy cập trái phép vào trang web của bạn. Điều quan trọng là tạo mật khẩu mạnh và duy nhất cho mỗi tài khoản.
- Sử dụng Xác thực hai yếu tố (2FA): Cân nhắc việc bật 2FA trên bất kỳ dịch vụ nào yêu cầu bạn đăng nhập. 2FA khiến tin tặc khó đăng nhập hơn ngay cả khi chúng đã ăn cắp mật khẩu của bạn thành công.
- Cập nhật CMS, plugin, tiện ích và mô-đun của bạn thường xuyên: Hy vọng bạn đã thực hiện bước này. Nhiều trang web bị tấn công vì chúng đang chạy phần mềm đã lỗi thời. Một số CMS hỗ trợ tự động cập nhật.
- Cân nhắc đăng ký một dịch vụ bảo mật để theo dõi trang web của bạn: Có rất nhiều dịch vụ tốt trên mạng có thể giúp bạn theo dõi trang web của mình với một khoản phí nhỏ. Hãy cân nhắc việc đăng ký với họ để giữ cho trang web của bạn an toàn.
Tài nguyên khác
Nếu vẫn gặp sự cố khi khắc phục trang web của mình, bạn có thể tham khảo một số tài nguyên khác có thể giúp ích.
Những công cụ này quét trang web của bạn và có thể tìm thấy nội dung có vấn đề. Ngoài VirusTotal, Google không chạy hoặc hỗ trợ các công cụ này.
Đây chỉ là một số công cụ có thể quét trang web của bạn để tìm nội dung có vấn đề. Xin lưu ý rằng các trình quét này không thể đảm bảo sẽ xác định được mọi loại nội dung có vấn đề.
Dưới đây là các tài nguyên bổ sung từ Google có thể giúp bạn: