Lỗi 0 day của WordPress có thực sự nguy hiểm như lời đồn?

Những ngày vừa qua, cộng đồng người dùng WordPress tại Việt Nam nói riêng và trên thế giới nói chung đang rất hoang mang, lo lắng vì một lỗi bảo mật có tên gọi là “0 day” được công bố bởi trang exploitbox.io. Theo đó, hacker có thể lấy mật khẩu của quản trị viên blog/ website (Administrator) thông qua việc reset mật khẩu không cần cấp quyền vào email của chủ sỡ hữu. Liệu lỗi này có thực sự đáng sợ như giang hồ đang đồn đại? Làm thế nào để khắc phục nó? Bài viết hôm nay sẽ cho các bạn câu trả lời.

Lỗi 0 day của WordPress có thực sự nguy hiểm như lời đồn?

khac-phuc-loi-0-day-cua-wordpress

Những ngày vừa qua, cộng đồng người dùng WordPress tại Việt Nam nói riêng và trên thế giới nói chung đang rất hoang mang, lo lắng vì một lỗi bảo mật có tên gọi là 0 day được công bố bởi trang ExploItBox.io. Theo đó, hacker có thể lấy mật khẩu của quản trị viên blog/ website (Administrator) thông qua việc reset mật khẩu không cần cấp quyền vào email của chủ sỡ hữu. Liệu lỗi này có thực sự đáng sợ như giang hồ đang đồn đại? Làm thế nào để khắc phục nó? Bài viết hôm nay sẽ cho các bạn câu trả lời.

Tham khảo thêm:

Lỗi 0 day của WordPress là gì?

WordPress mặc định có sẵn tính năng hỗ trợ khôi phục/ lấy lại mật khẩu trong trường hợp bạn bị quên. Tính năng này về cơ bản rất hữu ích, nhưng nó cũng chính là công cụ giúp hacker tấn công nhằm chiếm quyền sở hữu blog/ website của bạn.

Theo ExplotItBox, đầu tiên hacker sẽ gửi một truy vấn HTTP tới blog/ website thông qua địa chỉ IP.

Ở đoạn request trên, hacker sẽ chèn địa chỉ máy chủ email của họ vào. Và trên Apache thì SERVER_NAME sẽ tự động được thay thế bằng giá trị HOST trong truy vấn, tức chính là địa chỉ máy chủ email của hacker.

Nạn nhân sẽ nhận được một email với cấu trúc tương tự như sau:

Như chúng ta có thể thấy, trường Return-Path, FromMessage-ID, tất cả đều có tên của kẻ tấn công. Nếu hệ thống hoặc người dùng vô tình phản hồi email này, thì tin tặc sẽ nhận được nội dung email có chứa khóa khôi phục mật khẩu quản trị.

Có 3 khả năng khiến hacker có thể thực hiện thành công âm mưu này:

  • Email của quản trị viên có tính năng tự động trả lời email, trong đó đính kèm nội dung email được gửi đến.
  • Hacker sẽ gửi một lượng lớn email khiến máy chủ email của quản trị viên bị quá tải, dẫn đến email không thể gửi đi và phản hồi thông báo lỗi kèm nội dung email bị gửi thất bại.
  • Nếu quản trị viên sử dụng dịch vụ email của Gmail hoặc các nhà cung cấp lớn khác, hacker sẽ gửi một lượng lớn email để khiến nhà cung cấp block địa chỉ IP máy chủ (do lỗi spam), từ đó email không thể gửi đi và phản hồi ngược lại.

Hacker sau đó sẽ sử dụng đường link reset mật khẩu được cung cấp trong email để đổi mật khẩu đồng thời chiếm quyền truy cập blog/ website của bạn.

Hacker có dễ dàng khai thác lỗi 0 day?

Trên thực tế, lỗi 0 day không quá nguy hiểm như nhiều người vẫn nghĩ. Hacker sẽ phải gửi một truy vấn HTTP tới blog/ website thông qua địa chỉ IP, nghĩa là blog/ website của bạn phải truy cập được thông qua IP. Điều này thông thường chỉ xảy ra trên VPS/ server hoặc các hosting có IP riêng (dedicated IP). Bởi vì nếu hosting của bạn sử dụng shared IP, bạn sẽ không thể nào truy cập blog/ website thông qua IP được. Nếu bạn nào dùng shared host có cPanel bản mới nhất thì cũng không cần lo lắng nữa vì họ đã có một bản vá về lỗi 0 day trên Linux từ cách đây rất lâu rồi.

Hình thức tấn công này cũng chỉ thực sự có hiệu quả nếu:

  • Bạn đang sử dụng webserver Apache. Với các webserver như NginX hay LiteSpeed thì nó gần như vô hại.
  • Hacker phải biết được tên đăng nhập của bạn. Điều này có thể được tìm thấy dễ dàng thông qua link tác giả trong phần post info.
  • Tập tin wp-login.php phải được truy cập trực tiếp. Nếu bạn sử dụng plugin để đổi link đường dẫn đăng nhập hay đăng nhập bypass thông qua tài khoản WordPress.com thì hacker cũng không thể tấn công theo phương thức này được.
  • Quản trị viên phải sử dụng máy chủ email riêng, chẳng hạn email với tên miền riêng được tạo ngay trên host. Còn nếu quản trị viên sử dụng các dịch vụ như Gmail, Yahoo! Mail, Hotmail… thì hacker rất khó để làm chúng quá tải. Hacker buộc phải bắn một lượng email cực lớn để bị đánh dấu spam và block IP.

Làm thế nào để khắc phục lỗi 0 day của WordPress?

Tổng hợp các nguyên nhân trên, chúng tôi cho rằng khả năng bạn bị tấn công thông qua lỗi 0 day của WordPress là không cao, mặc dù nó ảnh hưởng đến tất cả các phiên bản WordPress, kể từ 4.7.4 trở về trước. Hiện tại nhóm lập trình viên của WordPress vẫn chưa có động thái tung ra bản cập nhật để khắc phục lỗi này. Tuy nhiên, để an tâm hơn, các bạn có thể tiến hành một số giải pháp sau đây để chống lại nguy cơ tấn công thông qua lỗi 0 day:

  • Đổi đường dẫn đăng nhập WordPress thông qua các plugin như Custom Login URL hay WPS Hide Login.
  • Tắt tính năng cho phép reset mật khẩu thông qua plugin Disable Password Reset. Trong trường hợp bạn quên mật khẩu đăng nhập, hãy tham khảo một số giải pháp sau đây.
  • Gỡ bỏ form đăng nhập mặc định của WordPress và chuyển sang đăng nhập thông qua tài khoản WordPress.com. Việc này có thể được thực hiện thông qua plugin Jetpack. Các bạn có thể tham khảo link ở phần đầu bài viết này để biết thêm chi tiết.
  • Tắt tính năng tự động phản hồi trong email của bạn.

Bạn nghĩ thế nào về lỗi 0 day của WordPress? Theo bạn, nó có thực sự nguy hiểm hay không? Bạn đã làm gì để chống lại nguy cơ từ lỗi 0 day? Hãy chia sẻ với chúng tôi quan điểm và ý kiến của bạn trong khung bình luận bên dưới.

Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều. :)


Bài liên quan