Contact Form 7 là một trong những plugin WordPress phổ biến nhất với gần 10 triệu cài đặt hoạt động. Qua nhiều năm, đã tiết lộ nó có một số lỗ hổng bảo mật nghiêm trọng. Không ngạc nhiên, các lỗ hổng này đã khiến nhiều trang web bị hack.
Đặc biệt, có một lỗ hổng từ 7 năm trước – lỗ hổng leo thang đặc quyền (privilege escalation). Các lỗ hổng khác tương đối nhỏ và không được khai thác nhiều. Nhưng lỗ hổng leo thang đặc quyền vẫn gây vi phạm bảo mật nghiêm trọng và hack website trên khắp thế giới.
Chúng tôi sẽ giải thích thêm qua bài viết này và đưa cho bạn cách chắc chắn để sửa lỗ hổng leo thang đặc quyền Contact Form 7.
Lỗ hổng Contact Form 7 là gì?
Lỗ hổng Contact Form 7 cho phép hacker tải mã độc lên thư mục tải lên của WordPress; cụ thể là thư mục /wp-content/uploads/wpcf7_uploads/. Sau khi file được tải lên, hacker có thể kiểm soát toàn bộ website.
Bạn có thể tưởng tượng xóa nội dung thư mục wpcf7_uploads sẽ giải quyết vấn đề. Nhưng không đúng. Vì vậy, nếu bạn đã thử phương pháp đó và thất bại, bạn không đơn độc.
Theo thời gian, chúng tôi thấy hacker lan truyền mã độc khắp website, sau khi获得访问权限。 Contact Form 7漏洞给予黑客完全访问权限,因此黑客可以并且通常会感染数千个文件和数据库。
Rõ ràng, điều này làm phức tạp quá trình dọn dẹp đáng kể. Do đó, quan trọng là cài đặt trình quét tốt và công cụ dọn dẹp để xóa mọi dấu vết của mã độc nguy hiểm này.
Cách sửa website bị hack
Như chúng tôi đã giải thích, sửa website bị hack do lỗ hổng leo thang đặc quyền cực kỳ khó khăn. Nó không đơn giản như xóa file độc hại từ một thư mục cụ thể.
Ngay khi hacker tải lên file, họ có quyền truy cập mọi thư mục trên máy chủ. Điều này có nghĩa là hacker có thể gieo mã độc vào bất kỳ file hoặc bảng cơ sở dữ liệu nào. Chúng thậm chí có thể để lại backdoor để nhiễm lại website lần khác.
Với điều đó, chúng tôi sẽ đưa ra 3 bước đơn giản và hiệu quả để khắc phục vấn đề này. Nhớ làm theo đúng thứ tự này:
Bước #1: Tìm và xóa mã độc
Nếu bạn đang dùng Contact Form 7, chúng tôi mạnh mẽ khuyên bạn cài đặt MalCare ngay bây giờ và quét mã độc miễn phí cho website. Không quan trọng có dấu hiệu rõ ràng website bị hack hay không. Có hàng trăm mã độc có thể nằm im lặng trên máy chủ của bạn.
Bước này rất quan trọng. Như đã nói, xóa thư mục tải lên là không đủ. Nhiều người trong số bạn có thể thậm chí không biết cách làm điều này. Sử dụng trình quét mã độc, bạn có thể xác định vị trí mã độc và xóa nó một lần cho tất cả.
Chúng tôi khuyên dùng Plugin Bảo mật MalCare để quét cấp máy chủ toàn bộ website. MalCare có thể phát hiện mã độc ẩn và thậm chí mã độc chưa biết trong file và cơ sở dữ liệu website.

Bạn cũng có thể xóa mọi dấu vết mã độc từ website ngay lập tức bằng tùy chọn Auto-Clean. Trong vài giây, MalCare sẽ xóa mã độc khỏi website mà không làm hỏng mã.
Bây giờ, có nhiều "chuyên gia" bảo mật kiên持认为手动从网站中删除恶意软件是一个更好的选择。但现实是,知道如何做到这一点需要一些严重的编码技巧。除非你是网络安全专业人员,否则我们绝不建议在任何情况下使用此方法。
Đó nói, nếu bạn quan tâm biết thêm về cách xóa mã độc thủ công từ website WordPress, chúng tôi có bài viết về chủ đề đó.
Lại một lần, chúng tôi không khuyến khích dưới bất kỳ hoàn cảnh nào.
Bước #2: Xóa admin ảo (ghost admins)
Nếu bạn đã làm theo bài viết đến đây, bạn đã xóa mã độc an toàn khỏi website. Vì vậy, trước khi thực hiện thêm thay đổi, chúng tôi mạnh mẽ khuyên bạn sao lưu trang web ngay bây giờ.
Một trong những thay đổi nguy hiểm nhất hacker có thể làm bằng lỗ hổng leo thang đặc quyền Contact Form 7 là tạo quản trị viên giả. Đây là sự thay đổi tinh vi đến mức hầu hết website không bao giờ nhận ra.
Phần nguy hiểm là ngay cả khi bạn xóa mã độc khỏi website, không trình quét mã độc nào có thể phát hiện người dùng admin giả.
Trong bảng điều khiển WordPress:
- Chọn Users > All users
- Di chuột qua tên người dùng bạn muốn xóa và nhấp liên kết Delete xuất hiện.
- Bạn được đưa đến trang Delete user, với hai tùy chọn: Delete user posts hoặc assign posts to a new user.
- Chọn "Attribute all content to:"
- Chọn username mới bạn tạo làm tác giả mới cho các bài viết này.
- Nhấp nút Confirm Deletion.

Bước #3: Cập nhật Contact Form 7
Lỗ hổng leo thang đặc quyền Contact Form 7 được vá bởi nhà phát triển gốc trong phiên bản 5.0.4. Hiện tại, Contact Form 7 đang phân phối phiên bản 5.3.2 và chúng tôi mạnh mẽ khuyên bạn cập nhật plugin lên phiên bản mới nhất.
Cập nhật plugin loại bỏ lỗ hổng. Điều này có nghĩa là hacker không thể dùng cùng lỗ hổng đó để xâm nhập website của bạn nữa.
Cách ngăn chặn hack trong tương lai
Có vài biện pháp bạn có thể thực hiện để bảo vệ website khỏi hacker khai thác các lỗ hổng bảo mật tương tự. Lỗ hổng leo thang đặc quyền Contact Form 7 chỉ là một trường hợp của plugin phổ biến gây đe dọa bảo mật cho website.
Hacker tiếp tục tìm thấy lỗ hổng mới mỗi ngày. Với điều đó, đây là vài mẹo cơ bản để bảo vệ trang web khỏi tấn công trong tương lai:
Cài đặt MalCare
Chúng tôi mạnh mẽ khuyên bạn cài đặt MalCare. MalCare đi kèm trình quét bảo mật website tự động phát hiện mã độc trên trang web. Rất ít hành động thủ công cần từ phía bạn.
Bạn cũng nhận được công cụ xóa mã độc 1-click sẽ làm cuộc sống dễ dàng hơn nhiều.
quan trọng hơn, bạn cũng nhận được tường lửa nâng cao chặn địa chỉ IP độc hại và bot từ quốc gia hoặc thiết bị ngay cả trước khi website tải. Điều này giữ an toàn website khỏi các cuộc tấn công phổ biến nhất.
MalCare chạy trên thuật toán học습尖端,不断变得更聪明。如果MalCare在它保护的250,000+网站中的某个网站上遇到特定的恶意软件或恶意IP,它会自动防止该威胁对其网络上的所有网站造成影响。
Cập nhật theme và plugin
Theme và plugin là mã cực kỳ phức tạp. Đôi khi, chúng phức tạp hơn chính core WordPress. Sự phức tạp này thường gây ra lỗ hổng bảo mật như lỗ hổng leo thang đặc quyền Contact Form 7.
Điều này có thể khiến bạn ngạc nhiên, nhưng có hacker dành mọi giờ thức của cuộc đời họ tìm kiếm các lỗ hổng như vậy để khai thác.
Giữ theme và plugin cập nhật là cách tốt để bảo mật website vì các phiên bản mới vá các lỗ hổng. Vì vậy, hãy cập nhật plugin và theme WordPress khi có phiên bản mới. Chúng tôi cũng khuyên xóa bất kỳ theme và plugin nào bạn không dùng nữa.
Tăng cường WordPress (WordPress Hardening)
Tăng cường WordPress là một tập hợp các biện pháp bảo mật bạn có thể thực hiện để khiến hacker cực kỳ khó sửa đổi website của bạn ngay cả khi họ设法获得访问权限。
Bây giờ, tăng cường là chủ đề rộng. Một số biện pháp khá đơn giản như thay đổi mật khẩu người dùng. Nhưng cũng có biện pháp phức tạp hơn như thay đổi salt và khóa bảo mật.
Vì vậy, chúng tôi đã tạo một bài viết hoàn chỉnh về Tăng cường WordPress – cách an toàn.
Với đó, website WordPress của bạn an toàn không chỉ khỏi lỗ hổng leo thang đặc quyền Contact Form 7 mà còn một loạt tấn công khác bao gồm:
- Tấn công SQL Injection
- Tấn công DDoS
- Tấn công Brute force
- Tấn công Cross-site scripting (XSS)
Giải thích hack leo thang đặc quyền
Phần này hơi kỹ thuật nhưng nếu bạn dùng plugin Contact Form 7 trên trang WordPress, bạn có thể muốn hiểu đang xảy ra gì.
Lỗ hổng leo thang đặc quyền Contact Form 7 bị khai thác trong hai bước:
- Bước 1: Có được quyền truy cập vai trò subscriber thấp cấp trong website WordPress.
- Bước 2: Dùng lỗ hổng để có quyền truy cập quản trị không giới hạn.
Website WordPress gán mức truy cập thấp nhất cho người dùng mới mặc định – subscriber WordPress. Vai trò này không đủ thẩm quyền để thay đổi bất cứ điều gì trên website. Nhưng tấn công leo thang đặc quyền Contact Form 7 cho phép hacker thay đổi vai trò người dùng của họ thành bất cứ thứ gì họ muốn.
Điều đó có nghĩa chính xác là gì?
Contact Form 7 là một trong những plugin WordPress mạnh mẽ nhất, dùng để tạo các biểu mẫu khác nhau. Khi submit, dữ liệu được chấp nhận bởi biểu mẫu của nó được lưu trong thư mục 'wp-content' trên website WordPress của bạn.

Thông thường, thư mục này chứa nội dung mọi loại từ các phần khác nhau của website. Nhưng tất cả dữ liệu trong thư mục này là thông tin công khai và không có dữ liệu nhạy cảm hoặc cá nhân.
Điều này có ý nghĩa lớn vì nhiều lý do. Bất kỳ ai gửi dữ liệu đến biểu mẫu của bạn là subscriber WordPress. Họ không nên có quyền truy cập bất kỳ thông tin nhạy cảm nào trên website.
Mặt khác, biểu mẫu thường được tạo bởi admin hoặc editor. Đây là vai trò người dùng đòi hỏi nhiều tự do và quyền truy cập vào các phần cụ thể của website. Vậy Contact Form 7 gán vai trò subscriber cho người dùng WordPress mới chứ không phải administrator như thế nào?
Nói đơn giản, Contact Form 7 dùng tham số gọi là 'capability_type' để định nghĩa quyền người dùng cho các hàm đọc, chỉnh sửa và xóa. Lỗi tồn tại bên trong tham số này và nó cho phép hacker tải file trực tiếp lên thư mục gốc của WordPress.
Chỉ từ thư mục này, hacker có thể phá hoại trang web hoàn toàn hoặc tấn công spamvertising.
Trong một số trường hợp, tấn công có thể đủ nguy hiểm để khiến website bị Google đưa vào danh sách đen.
Nhưng lỗ hổng leo thang đặc quyền cho phép tấn công nguy hiểm hơn nhiều. Cũng có file bên ngoài thư mục wp-content như file wp-config và .htaccess.
Đây là các file chứa thông tin đăng nhập cơ sở dữ liệu và cấu hình website. Vì vậy, hacker khai thác lỗ hổng leo thang đặc quyền Contact Form 7 có thể truy cập các file này bằng cách sửa đổi khả năng của vai trò người dùng.

Trong vài phút, hacker có thể tìm thấy thông tin truy cập toàn bộ website. Hoặc tệ hơn, họ có thể tạo tài khoản admin ảo để có quyền truy cập trực tiếp không giới hạn vào toàn bộ website.
Điều này cực kỳ nguy hiểm vì nó cho phép hacker chỉnh sửa biểu mẫu và cấp cho mình quyền truy cập file bên ngoài wp-content. Nó cũng có thể dùng để chỉnh sửa loại đầu vào người dùng mà biểu mẫu có thể chấp nhận. Lỗ hổng về cơ bản cho phép bất kỳ vai trò người dùng nào thực hiện thay đổi trên website.
Giải thích lỗ hổng tải file không giới hạn
Một số biểu mẫu chấp nhận file, như sơ yếu lý lịch hoặc chứng minh nhân dân. Định dạng tiêu chuẩn như PDF, JPEG, PNG, và GIF đều chấp nhận được và không gây rắc rối.
Tuy nhiên, lỗ hổng plugin Contact Form 7 cho phép người dùng thay đổi loại file được chấp nhận. Lỗ hổng này gần đây ảnh hưởng hơn 5 triệu website dùng Contact Form 7 và được gọi là lỗ hổng tải file không giới hạn (unrestricted file upload vulnerability).
Lỗ hổng tải file không giới hạn có nghĩa là website của bạn có thể bắt đầu chấp nhận định dạng file thực thi như PHP và ASP. Kiểm tra đặc biệt các phần mở rộng kép như .php.png.
Các file này thực thi lệnh và hàm trên trang web. Điều này có nghĩa hacker có thể submit file PHP với script độc hại qua biểu mẫu liên hệ tạo bằng Contact Form 7.
Đây là biến thể của tấn công XSS và có thể dùng để:
- Tạo backdoor trên website cho phép hacker truy cập khi muốn.
- Tạo người dùng admin ảo cấp cho họ quyền truy cập qua trang đăng nhập.
- Sửa đổi nội dung trang web để bán hoặc quảng cáo sản phẩm và ma túy bất hợp pháp.
- Chuyển hướng người truy cập đến website độc hại hoặc người lớn.
Có một loạt tấn công khác hacker có thể thực hiện khá hiệu quả với rất ít nỗ lực sau khi获得访问权限。 始终最好尽可能防止攻击。
Chúng tôi mạnh mẽ khuyên cài đặt trình quét mã độc cung cấp quét mã độc liên tục và tường lửa WordPress để bảo vệ website khỏi tấn công trong tương lai.
Tiếp theo là gì?
Hacker tìm đủ cách để xâm nhập trang web. Chúng có thể dùng tấn công brute force đoán thông tin xác thực, khai thác lỗ hổng Cross-site scripting (XSS), và đánh cắp cookie trình duyệt. Thực sự không có hồi kết cho sự điên rồ này.
Để thực sự và hoàn toàn bảo vệ website khỏi mối đe dọa và tấn công bảo mật, chúng tôi khuyên bạn cài đặt MalCare. Tường lửa sẽ chủ động chặn попытки入侵 và trình quét sẽ kiểm tra website mỗi ngày.
Cũng xem mẹo của chúng tôi về Tăng cường WordPress. Bạn có thể bảo mật trang web từ bảng điều khiển MalCare với vài cú nhấp chuột đơn giản và tăng cường bảo mật website.
Câu hỏi thường gặp
Contact Form 7 an toàn không?
Không. Mặc dù phiên bản hiện tại không có lỗ hổng đã biết, các phiên bản cũ của Contact Form 7 đầy rẫy lỗ hổng bảo mật. Cách đơn giản nhất vá lỗ hổng là cập nhật lên phiên bản mới nhất. Nhưng chúng tôi cũng khuyên bạn quét website tìm mã độc phòng khi nào.
Akismet có hoạt động với Contact Form 7 không?
Có, nhưng Akismet bảo vệ chống spam đầu vào biểu mẫu. Nó không sửa lỗ hổng leo thang đặc quyền. Để vá lỗ hổng, chúng tôi khuyên cập nhật ngay lên phiên bản mới nhất Contact Form 7.
Leo thang đặc quyền là gì và tại sao quan trọng?
Leo thang đặc quyền là lỗ hổng hacker khai thác để truy cập file và cơ sở dữ liệu website bị hạn chế. Dùng lỗ hổng này, hacker có thể truy cập bất kỳ thông tin nhạy cảm nào trên website và thậm chí phá hoại nội dung tùy ý.
Cơ chế leo thang đặc quyền phổ biến nhất là gì?
Hầu hết plugin và theme WordPress đi kèm nhiều lỗ hổng leo thang đặc quyền. Một số nguyên nhân phổ biến nhất là cross-site scripting, xử lý cookie không đúng, và mật khẩu yếu.
Các thay thế tốt cho Contact Form 7 là gì?
Có một vài thay thế cho Contact Form 7. Về mặt bảo mật, chúng tôi khuyên phiên bản mới nhất của Ninja Forms, Gravity Forms, và plugin Visual Form Builder.