Cách tìm ra lỗ hổng của website

Vì có thể có nhiều vụ tấn công riêng rẽ cùng một lúc, ngay cả khi bạn có thể tìm và khắc phục một lỗ hổng, chúng tôi khuyên bạn nên tiếp tục tìm kiếm những lỗ hổng khác. Bắt đầu điều tra bằng cách đọc về các cách phổ biến nhất mà trang web bị người gửi spam tấn công.

Bạn sẽ cần:

  • Quyền truy cập quản trị viên shell/terminal vào các máy chủ của trang web -- web, cơ sở dữ liệu, tệp
  • Kiến thức về lệnh shell/terminal
  • Hiểu biết về mã (chẳng hạn như PHP hoặc JavaScript)
  • Khả năng chạy hai trình quét chống vi rút

Các hành động tiếp theo:

Chúng tôi sẽ giới thiệu một số cách phổ biến mà một trang web có thể bị xâm nhập. Hy vọng rằng một trong những lỗ hổng này sẽ có trên trang web của bạn hoặc sẽ làm sáng tỏ các khả năng bổ sung.

Xin lưu ý rằng các trình quét lỗ hổng khác với trình quét chống vi rút. Trình quét lỗ hổng có thể xâm nhập sâu hơn và có khả năng gây ra thiệt hại không mong muốn cho trang web của bạn. Vui lòng làm theo tất cả các hướng dẫn, chẳng hạn như sao lưu trang web của bạn, trước khi chạy trình quét.

Các lỗ hổng tiềm năng cần điều tra bao gồm:

1. Máy tính của quản trị viên bị nhiễm virus

Trên máy tính bị nhiễm virus của quản trị viên, tin tặc có thể đã cài đặt phần mềm gián điệp để ghi lại thao tác gõ phím của quản trị viên trang web.

  • Kiểm tra virus trên các hệ thống của quản trị viên.Bạn nên chạy một số trình quét chống virus có uy tín hoặc trình quét AV trên mọi máy tính được quản trị viên sử dụng để đăng nhập vào trang web. Vì các kiểu lây nhiễm phần mềm độc hại mới đang liên tục được thiết kế để tránh các trình quét, hành động này không phải là một phương pháp phát hiện virus luôn hiệu quả. Vì các trình quét AV có thể báo cáo các kết quả sai, việc chạy một số trình quét có thể cung cấp nhiều điểm dữ liệu hơn để xác định liệu một lỗ hổng có tồn tại hay không. Để an toàn, bạn cũng nên cân nhắc quét cả máy chủ web và tất cả các thiết bị được sử dụng để cập nhật hoặc đăng lên trang web.
    • Nếu trình quét AV phát hiện thấy phần mềm gián điệp, vi rút, trojan hoặc bất kỳ chương trình đáng ngờ nào, hãy điều tra nhật ký máy chủ của trang web để kiểm tra hoạt động của quản trị viên sở hữu máy tính bị nhiễm.
    • Các tệp nhật ký có thể đã bị tin tặc thay đổi. Nếu không, việc đối chiếu tên người dùng của quản trị viên với các lệnh đáng ngờ trong tệp nhật ký là một bằng chứng nữa cho thấy virus trong hệ thống của quản trị viên khiến trang web dễ bị tấn công.

2. Mật khẩu yếu hoặc được sử dụng lại

Việc bẻ khóa một mật khẩu yếu có thể tương đối dễ dàng với tin tặc và điều này cung cấp cho họ quyền truy cập trực tiếp vào máy chủ của bạn. Mật khẩu mạnh là kết hợp của các chữ cái và số, dấu chấm câu, không có từ hay từ lóng có thể tìm được trong từ điển. Mật khẩu chỉ nên được sử dụng cho một ứng dụng và không nên sử dụng lại mật khẩu trên web. Khi mật khẩu được sử dụng lại, tin tặc chỉ cần một vi phạm bảo mật trên một ứng dụng để tìm được thông tin đăng nhập và mật khẩu rồi sau đó cố gắng sử dụng lại thông tin này ở nơi khác.

  • Trong nhật ký máy chủ, hãy kiểm tra hoạt động không mong muốn, chẳng hạn như nhiều lần thử đăng nhập của một quản trị viên hoặc quản trị viên thực hiện các lệnh không mong muốn. Ghi chú lại khi có hoạt động đáng ngờ xảy ra vì việc biết được thời điểm tấn công xảy ra lần đầu tiên sẽ giúp xác định bản sao lưu nào vẫn có thể vẫn còn sạch.

3. Phần mềm đã lỗi thời

Kiểm tra để đảm bảo (các) máy chủ của bạn đã cài đặt phiên bản mới nhất của hệ điều hành, hệ thống quản lý nội dung, nền tảng viết blog, ứng dụng, plugin, v.v.

  • Xem xét (có thể thông qua tìm kiếm web) tất cả các phần mềm đã cài đặt để xác định xem phiên bản của bạn có chứa tư vấn về bảo mật hay không. Nếu có, có khả năng chính phần mềm lỗi thời đã khiến trang web của bạn dễ bị tấn công.
  • Phương pháp hay nhất là luôn đặt mục tiêu giữ cho phần mềm máy chủ của bạn cập nhật, bất kể phần mềm lỗi thời có gây ra vấn đề lỗ hổng lần này hay không.

4. Các phương pháp mã hóa lỏng lẻo, chẳng hạn như các chuyển hướng mở và đưa vào SQL

  • Chuyển hướng mở
  • Chuyển hướng mở được mã hóa nhằm ý định định cấu trúc URL để cho phép bổ sung một URL khác và vì thế người dùng có thể tiếp cận một tệp hoặc trang hữu ích trên trang web. Ví dụ:

    http://example.com/page.php?url=http://example.com/good-file.pdf Các tin tặc có thể lạm dụng chuyển hướng mở bằng cách thêm trang spam hoặc phần mềm độc hại vào chuyển hướng mở của trang web, tương tự như sau: http://example.com/page.php?url=<malware-attack-site>

    • Nếu chuyển hướng mở bị lạm dụng trên trang web, bạn có thể nhận thấy thông báo trong Search Console cung cấp ví dụ về các URL chứa chuyển hướng mở đến một đích không mong muốn.
    • Để ngăn các chuyển hướng mở trong tương lai, hãy kiểm tra xem liệu "cho phép chuyển hướng mở" có được bật theo mặc định trong phần mềm của bạn hay không, mã của bạn có thể cấm chuyển hướng ngoài miền hay không hoặc bạn có thể ký chuyển hướng để chỉ các chuyển hướng có URL được băm đúng cách và chữ ký bằng mật mã mới có thể chuyển hướng hay không.
  • Đưa vào SQL
  • Đưa vào SQL xảy ra khi một tin tặc có thể thêm lệnh xấu vào các trường nhập dữ liệu của người dùng được thực thi bởi cơ sở dữ liệu của bạn. Đưa vào SQL cập nhật các bản ghi trong cơ sở dữ liệu của bạn với nội dung spam hoặc phần mềm độc hại không mong muốn hoặc sao chép dữ liệu có giá trị vào đầu ra cho tin tặc. Nếu trang web của bạn sử dụng cơ sở dữ liệu và đặc biệt là nếu bạn bị nhiễm kiểu phần mềm độc hại đưa vào SQL, có thể trang web của bạn đã bị xâm nhập bởi đưa vào SQL.

    • Đăng nhập vào máy chủ cơ sở dữ liệu và tìm nội dung đáng ngờ trong cơ sở dữ liệu, chẳng hạn như các trường văn bản thông thường nhưng giờ lại hiển thị iframe hoặc tập lệnh.
    • Đối với các giá trị đáng ngờ, hãy kiểm tra để đảm bảo dữ liệu người dùng nhập vào đã được xác thực và thoát đúng cách hoặc có thể được gõ mạnh để dữ liệu không thể được thực thi dưới dạng mã. Nếu dữ liệu đầu vào của người dùng không được kiểm tra trước khi xử lý cơ sở dữ liệu, đưa vào SQL có thể là lỗ hổng nguyên nhân gốc rễ trên trang web của bạn.

Bước tiếp theo

Bước tiếp theo trong quy trình là Làm sạch và bảo trì trang web của bạn.