Computer >> Máy Tính >  >> Lập trình >> HTML

Sửa lỗ hổng biểu mẫu liên hệ 7 trên WordPress

Contact Form 7 là một trong những plugin WordPress phổ biến nhất với gần 10 triệu lượt cài đặt đang hoạt động. Trong những năm qua, nó đã được tiết lộ là có một số lỗi bảo mật lớn. Không có gì ngạc nhiên khi những lỗ hổng này đã khiến nhiều trang web bị tấn công.

Đặc biệt, có một lỗ hổng từ 7 năm trước - lỗ hổng leo thang đặc quyền. Các lỗ hổng khác tương đối nhỏ và chưa được khai thác ở mức độ nhiều. Nhưng lỗ hổng leo thang đặc quyền vẫn gây ra các vụ tấn công và vi phạm bảo mật lớn trong các trang web trên toàn thế giới.

Chúng tôi sẽ giải thích thêm trong suốt bài viết này và cung cấp cho bạn một cách chắc chắn để khắc phục lỗ hổng báo cáo đặc quyền của Biểu mẫu liên hệ 7.

TL; DR: Nếu bạn nghi ngờ trang web của mình đã bị tấn công, cài đặt plugin bảo mật MalCare . Nó sẽ quét trang web WordPress của bạn và xác định vụ tấn công. Bạn có thể làm sạch trang web của mình ngay lập tức và bảo vệ trang web của bạn khỏi các cuộc tấn công trong tương lai.

Lỗ hổng Contact Form 7 là gì?

Lỗ hổng Contact Form 7 cho phép tin tặc tải phần mềm độc hại lên thư mục tải lên WordPress; cụ thể là / wp-content / uploads / wpcf7_uploads / thư mục. Sau khi tệp được tải lên, tin tặc có thể chiếm quyền kiểm soát toàn bộ trang web.

Bây giờ, người ta sẽ tưởng tượng rằng việc xóa nội dung của wpcf7_uploads thư mục sẽ giải quyết vấn đề. Nhưng điều đó không đúng. Vì vậy, nếu bạn đã thử phương pháp đó và không thành công, bạn không đơn độc.

Theo thời gian, chúng tôi đã thấy rằng tin tặc phát tán phần mềm độc hại trên khắp trang web khi họ có quyền truy cập. Lỗ hổng Contact form 7 cho phép tin tặc truy cập hoàn toàn và do đó, tin tặc có thể, và thường làm, lây nhiễm hàng nghìn tệp và cơ sở dữ liệu.

Rõ ràng, điều này làm phức tạp quá trình làm sạch đáng kể. Do đó, điều quan trọng là phải cài đặt một máy quét tốt và sau đó là một trình dọn dẹp để xóa mọi dấu vết của phần mềm độc hại nguy hiểm này.

Cách sửa trang web bị tấn công

Như chúng tôi đã giải thích, việc khắc phục một trang web bị tấn công do lỗ hổng bảo mật đặc quyền là vô cùng khó khăn. Nó không đơn giản như xóa một tệp độc hại khỏi một thư mục cụ thể.

Lần thứ hai, tin tặc tải tệp lên, họ có quyền truy cập vào mọi thư mục trên máy chủ. Điều này có nghĩa là tin tặc có thể đã gieo phần mềm độc hại vào bất kỳ tệp hoặc bảng cơ sở dữ liệu nào theo đúng nghĩa đen. Họ thậm chí có thể đã để lại các cửa hậu để hoàn thiện lại trang web của bạn vào lần khác.

Với ý nghĩ đó, chúng tôi sẽ cung cấp cho bạn 3 bước đơn giản và hiệu quả để khắc phục sự cố này. Hãy nhớ làm theo thứ tự chính xác này:

Bước # 1:Tìm và xóa phần mềm độc hại

Nếu bạn đang sử dụng Biểu mẫu liên hệ 7, chúng tôi thực sự khuyên bạn nên cài đặt MalCare ngay bây giờ và quét phần mềm độc hại MIỄN PHÍ cho trang web của bạn. Không thực sự quan trọng nếu có dấu hiệu rõ ràng cho thấy trang web của bạn bị tấn công. Có hàng trăm phần mềm độc hại có thể nằm im trên máy chủ của bạn.

Bước này rất quan trọng. Như chúng tôi đã nói trước đây, việc xóa thư mục tải lên là không phù hợp. Nhiều bạn thậm chí có thể không biết cách làm điều này ngay từ đầu. Sử dụng trình quét phần mềm độc hại, bạn có thể xác định chính xác vị trí của phần mềm độc hại và xóa nó một lần và mãi mãi.

Chúng tôi khuyên bạn nên sử dụng Plugin bảo mật MalCare để quét toàn bộ trang web của bạn ở cấp độ máy chủ. MalCare có khả năng phát hiện phần mềm độc hại ẩn và thậm chí không xác định trong các tệp và cơ sở dữ liệu trên trang web của bạn.

Sửa lỗ hổng biểu mẫu liên hệ 7 trên WordPress

Bạn cũng có thể xóa tất cả dấu vết của phần mềm độc hại khỏi trang web của mình ngay lập tức bằng cách sử dụng Tự động làm sạch quyền mua. Trong vài giây, MalCare sẽ xóa phần mềm độc hại khỏi trang web của bạn mà không phá vỡ mã.

Hiện nay, có nhiều “chuyên gia” bảo mật khẳng định rằng việc xóa phần mềm độc hại khỏi trang web của bạn theo cách thủ công là một lựa chọn tốt hơn nhiều. Nhưng thực tế là biết cách làm điều đó đòi hỏi một số kỹ năng mã hóa nghiêm túc. Trừ khi bản thân bạn là một chuyên gia an ninh mạng, chúng tôi không khuyến nghị phương pháp này trong bất kỳ trường hợp nào.

Điều đó có nghĩa là, nếu bạn muốn biết thêm về cách xóa phần mềm độc hại theo cách thủ công khỏi trang web WordPress, chúng tôi cũng có một bài viết về chủ đề đó.

Một lần nữa, chúng tôi khuyên bạn không nên làm như vậy trong bất kỳ trường hợp nào.

Bước # 2:Xóa quản trị viên ma

Nếu bạn đã làm theo bài viết này cho đến nay, thì bạn đã quản lý để xóa phần mềm độc hại khỏi trang web của mình một cách an toàn. Vì vậy, trước khi bạn thực hiện thêm bất kỳ thay đổi nào, chúng tôi thực sự khuyên bạn nên sao lưu trang web của mình ngay bây giờ.

Một trong những thay đổi nguy hiểm nhất mà tin tặc có thể thực hiện khi sử dụng lỗ hổng leo thang đặc quyền của Contact Form 7 là tạo quản trị viên giả. Đây là một thay đổi tinh vi đến nỗi hầu hết các trang web không bao giờ nhận thấy nó.

Điều nguy hiểm là ngay cả khi bạn xóa phần mềm độc hại khỏi trang web của mình, sẽ không có trình quét phần mềm độc hại nào có thể phát hiện ra người dùng quản trị giả.

Trong bảng điều khiển WordPress của bạn:

  • Chọn Người dùng> Tất cả người dùng
  • Di chuột qua tên người dùng bạn muốn xóa và nhấp vào nút Xóa liên kết xuất hiện.
  • Bạn được đưa đến Xóa trang người dùng , với hai tùy chọn: Xóa bài đăng của người dùng hoặc chỉ định bài đăng cho người dùng mới .
  • Chọn “ Ghi nhận tất cả nội dung vào:
  • Chọn tên người dùng mới bạn đã tạo với tư cách là tác giả mới cho những bài đăng này.
  • Nhấp vào Xác nhận xóa nút.

Sửa lỗ hổng biểu mẫu liên hệ 7 trên WordPress

Bước # 3:Cập nhật Biểu mẫu liên hệ 7

Lỗ hổng báo cáo đặc quyền của Contact Form 7 đã được nhà phát triển ban đầu vá 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 thực sự khuyên bạn nên cập nhật plugin của mình lên phiên bản mới nhất.

Cập nhật plugin sẽ loại bỏ lỗ hổng bảo mật. Điều này có nghĩa là tin tặc không thể sử dụng cùng một lỗ hổng để xâm nhập vào trang web của bạn nữa.

Cách ngăn chặn hack trong tương lai

Có một số biện pháp bạn có thể thực hiện để bảo vệ trang web của mình trước các tin tặc khai thác các lỗ hổng bảo mật tương tự. Lỗ hổng báo cáo đặc quyền của Contact Form 7 chỉ là một ví dụ của một plugin phổ biến gây ra các mối đe dọa bảo mật cho trang web của bạn.

Tin tặc liên tục tìm ra các lỗ hổng mới mỗi ngày. Với ý nghĩ đó, đây là một số mẹo cơ bản để bảo vệ trang web của bạn trước các cuộc tấn công trong tương lai:

Cài đặt MalCare

Chúng tôi thực sự khuyên bạn nên cài đặt MalCare. MalCare đi kèm với trình quét bảo mật trang web của riêng mình, tự động phát hiện phần mềm độc hại trên trang web của bạn. Bạn cần thực hiện rất ít thao tác thủ công.

Bạn cũng nhận được một công cụ xóa phần mềm độc hại chỉ với một cú nhấp chuột sẽ giúp cuộc sống của bạn dễ dàng hơn nhiều.

Quan trọng hơn, bạn cũng có được một tường lửa nâng cao chặn các địa chỉ IP và bot độc hại từ quốc gia hoặc thiết bị ngay cả trước khi trang web của bạn được tải. Điều này giúp trang web của bạn an toàn và bảo mật trước các cuộc tấn công phổ biến nhất.

MalCare chạy trên một thuật toán học tập tiên tiến giúp ngày càng thông minh hơn. Nếu MalCare gặp một phần mềm độc hại hoặc IP độc hại cụ thể ở một trong hơn 250.000 trang web mà nó bảo vệ, nó sẽ tự động ngăn chặn điều đó đối với tất cả các trang web trên mạng của mình.

Cập nhật chủ đề và plugin

Chủ đề và plugin là những mã cực kỳ phức tạp. Đôi khi, chúng phức tạp hơn chính lõi WordPress. Sự phức tạp như vậy thường gây ra các lỗi bảo mật, chẳng hạn như lỗ hổng báo cáo đặc quyền của Contact Form 7.

Điều này có thể khiến bạn ngạc nhiên, nhưng có những tin tặc dành mọi khoảnh khắc thức giấc trong đời để tìm kiếm những lỗ hổng như vậy để khai thác.

Luôn cập nhật các chủ đề và plugin của bạn là một cách tốt để bảo mật trang web của bạn khi các phiên bản mới vá các lỗ hổng này. Vì vậy, hãy đảm bảo rằng bạn cập nhật các plugin và chủ đề WordPress của mình khi có phiên bản mới. Chúng tôi cũng khuyên bạn nên xóa bất kỳ chủ đề và trình cắm nào mà bạn không sử dụng nữa.

Tăng cường WordPress

Cải thiện WordPress là một tập hợp các biện pháp bảo mật mà bạn có thể thực hiện để khiến tin tặc cực kỳ khó sửa đổi trang web của bạn ngay cả khi họ quản lý để có được quyền truy cập.

Bây giờ, làm cứng là một chủ đề khá rộng. Một số biện pháp này khá đơn giản như thay đổi mật khẩu người dùng. Nhưng cũng có nhiều biện pháp phức tạp hơn như thay đổi muối và khóa bảo mật.

Vì vậy, chúng tôi đã tạo toàn bộ một bài viết về cách làm cứng WordPress - một cách an toàn.

Với điều đó, trang web WordPress của bạn không chỉ được bảo mật khỏi sự leo thang đặc quyền của Contact Form 7 mà còn cả một loạt các cuộc tấn công khác bao gồm:

  • Các cuộc tấn công SQL Injection
  • Các cuộc tấn công DDoS
  • Tấn công vũ lực
  • Các cuộc tấn công tập lệnh trên nhiều trang web (XSS)

Giải thích các thủ thuật leo thang đặc quyền

Phần này hơi kỹ thuật nhưng nếu bạn đang sử dụng plugin Biểu mẫu liên hệ 7 trên trang web WordPress của mình, có thể bạn sẽ muốn hiểu điều gì đang xảy ra.

Lỗ hổng báo cáo đặc quyền của Biểu mẫu liên hệ 7 được khai thác theo hai bước:

  • Bước 1:Có được quyền truy cập vào vai trò người đăng ký thấp trong một trang web WordPress.
  • Bước 2:Sử dụng lỗ hổng để có được quyền truy cập quản trị không hạn chế.

Các trang web WordPress chỉ định cấp độ truy cập thấp nhất cho người dùng mới theo mặc định - người đăng ký WordPress. Giờ đây, vai trò này sẽ không giúp bạn có đủ quyền hạn để thay đổi bất kỳ điều gì trên trang web WordPress. Nhưng cuộc tấn công leo thang đặc quyền của Contact Form 7 cho phép tin tặc thay đổi vai trò người dùng của họ thành bất kỳ thứ gì họ muốn.

Chính xác thì điều đó có nghĩa là gì?

Contact Form 7 là một trong những plugin WordPress mạnh mẽ nhất, được sử dụng để tạo các loại biểu mẫu khác nhau. Khi gửi, dữ liệu được các biểu mẫu chấp nhận được lưu trữ trong một thư mục có tên là 'wp-content' trên trang web WordPress của bạn.

Sửa lỗ hổng biểu mẫu liên hệ 7 trên WordPress
Tín dụng hình ảnh:Elegant Themes

Thông thường, thư mục này chứa nội dung của tất cả các loại từ các phần khác nhau của trang web. Nhưng đây đều là thông tin công khai và không có dữ liệu nào trong thư mục này là nhạy cảm hoặc cá nhân.

Điều này rất có ý nghĩa vì nhiều lý do. Bất kỳ ai gửi dữ liệu đến biểu mẫu của bạn đều là người đăng ký WordPress. Họ sẽ không có quyền truy cập vào bất kỳ thông tin nhạy cảm nào trên trang web.

Mặt khác, biểu mẫu thường được tạo bởi quản trị viên hoặc người chỉnh sửa. Đây là những vai trò người dùng đòi hỏi nhiều quyền tự do và quyền truy cập vào các phần cụ thể của trang web. Vậy, chính xác thì Contact Form 7 chỉ định một người dùng WordPress mới vai trò người đăng ký chứ không phải quản trị viên như thế nào?

Nói một cách dễ hiểu, Biểu mẫu liên hệ 7 sử dụng một tham số được gọi là 'ability_type' để xác định quyền của người dùng đối với các chức năng đọc, chỉnh sửa và xóa. Lỗ hổng tồn tại bên trong tham số này và nó cho phép tin tặc tải tệp trực tiếp lên thư mục chính của WordPress.

Chỉ từ thư mục này, tin tặc có thể phá hoại hoàn toàn trang web của bạn hoặc khởi chạy các cuộc tấn công quảng cáo spam.

Trong một số trường hợp, các cuộc tấn công có thể đủ nguy hiểm để khiến trang web của bạn bị Google đưa vào danh sách đen.

Nhưng lỗ hổng leo thang đặc quyền cho phép kẻ tấn công thực hiện một cuộc tấn công nguy hiểm hơn nhiều. Ngoài ra còn có các tệp bên ngoài thư mục wp-content, chẳng hạn như tệp wp-config và tệp .htaccess của bạn.

Bây giờ, các tệp này chứa thông tin đăng nhập cơ sở dữ liệu và cấu hình trang web của bạn. Vì vậy, tin tặc khai thác lỗ hổng báo cáo đặc quyền của Biểu mẫu liên hệ 7 có thể có quyền truy cập vào các tệp này bằng cách sửa đổi khả năng của vai trò người dùng.

Sửa lỗ hổng biểu mẫu liên hệ 7 trên WordPress
Tín dụng hình ảnh:Xneelo

Trong vòng vài phút, tin tặc có thể tìm thấy thông tin đăng nhập vào toàn bộ trang web của bạn. Hoặc tệ hơn, họ có thể tạo một tài khoản quản trị viên ma để có thể truy cập trực tiếp không hạn chế vào toàn bộ trang web.

Điều này cực kỳ nguy hiểm vì nó cho phép tin tặc chỉnh sửa biểu mẫu và tự cấp quyền truy cập vào các tệp bên ngoài wp-content. Nó cũng có thể được sử dụng để chỉnh sửa những loại đầu vào của người dùng mà biểu mẫu có thể chấp nhận. The vulnerability essentially allows any user roles to make changes to the website.

Unrestricted file upload vulnerability explained

Some forms accept files, such as a resume or ID proof. Standard formats like PDF, JPEG, PNG, and GIF are acceptable and shouldn’t cause any trouble on your site.

However, the Contact Form 7 plugin vulnerability allows a user to change the types of files accepted. This vulnerability recently affected over 5 million websites that use Contact Form 7 and is known as the unrestricted file upload vulnerability.

The unrestricted file upload vulnerability means your website could start accepting executable file formats such as PHP and ASP. Check especially for double extensions such as .php.png.

These files execute commands and functions on your site. This means a hacker can submit a PHP file with a malicious script through a contact form created using Contact Form 7.

This is a variant of an XSS attack and can be used to:

  • Create a backdoor on your website that would allow a hacker to access it when he wants.
  • Create ghost admin users that will grant them access through your login page.
  • Modify the content on your site to sell or promote illegal products and drugs.
  • Redirect your visitors to malicious or adult websites.

There are a bunch of other attacks that a hacker can launch quite effectively with very little effort once they gain access to your website. It’s always a better option to prevent the attacks as far as possible.

We highly recommend installing a malware scanner that offers round-the-clock malware scanning and a WordPress firewall to protect your website against future attacks.

What’s next?

Hackers find all sorts of ways to break into your site. They can use brute force attacks to guess your access credentials, exploit Cross site scripting (XSS) vulnerabilities, and steal your browser cookies. There’s really no end to this madness.

To truly and completely protect your website from security threats and attacks, we recommend that you install MalCare. The firewall will proactively block hack attempts and its scanner will check your website every day.

Also, check out our tips on WordPress hardening. You can secure your website from the MalCare dashboard with a few simple clicks and harden your website security.

Câu hỏi thường gặp

Is Contact Form 7 secure?

No. Although the current version has no known vulnerabilities, older versions of Contact Form 7 are riddled with security flaws. The simplest way to patch the vulnerabilities is to update to the latest version. But we also recommend that you scan your website for malware just in case.


Does Akismet work with Contact Form 7?

Yes, but Akismet is to protect against spam form inputs. It doesn’t fix the privilege escalation vulnerability. To patch the vulnerability, we recommend updating to the latest version of Contact Form 7 immediately.


What is privilege escalation and why is it important?

Privilege escalation is a vulnerability that hackers can exploit to gain access to files and databases of a website that are otherwise restricted. Using this vulnerability, hackers can gain access to any sensitive information on your website and even deface your content at will.


What is the most likely mechanism of privilege escalation?

Most WordPress plugins and themes come with many privilege escalation vulnerabilities. Some of the most common causes are cross-site scripting, improper cookie handling, and weak passwords.


What are good alternatives to Contact Form 7?

There are several alternatives to Contact Form 7. In terms of security, though, we would recommend the latest version of Ninja Forms, Gravity Forms, and Visual Form Builder plugins.