Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

รักษาความปลอดภัย WordPress: แก้ไขช่องโหว่ Contact Form 7 ทันที

Contact Form 7 เป็นปลั๊กอิน WordPress ยอดนิยมเกือบ 10 ล้านการติดตั้งใช้งาน ตลอดปีมาพบช่องโหว่ความปลอดภัยร้ายแรงหลายช่อง ไม่แปลกใจที่ช่องโหว่เหล่านี้ทำให้หลายเว็บถูกแฮก

โดยเฉพาะช่องโหว่ Privilege Escalation จาก 7 ปีก่อน ช่องโหว่อื่นๆ เล็กกว่าและไม่ถูกใช้ประโยชน์มาก แต่ช่องโหว่ Privilege Escalation ยังทำให้เกิดการละละเมิดความปลอดภัยและแฮกเว็บไซต์ทั่วโลก

เราจะอธิบายรายละเอียดและให้วิธีแก้ไขช่องโหว่ Privilege Escalation ของ Contact Form 7 แบบแน่นอน

สรุปสั้น: หากสงสัยว่าเว็บถูกแฮก ให้ ติดตั้งปลั๊กอินความปลอดภัย MalCare. มันจะสแกน WordPress และระบุการแฮก คุณสามารถทำความสะอาดเว็บทันทีและป้องกันการโจมตีอนาคตได้

ช่องโหว่ Contact Form 7 คืออะไร?

ช่องโหว่ Contact Form 7 อนุญาตให้แฮกเกอร์อัปโหลดมัลแวร์ไปที่โฟลเดอร์อัปโหลดของ WordPress โดยเฉพาะ /wp-content/uploads/wpcf7_uploads/ หลังอัปโหลดไฟล์ แฮกเกอร์จึงควบคุมเว็บไซต์ทั้งหมดได้

อาจคิดว่าการลบเนื้อหาในโฟลเดอร์ wpcf7_uploads จะแก้ปัญหา แต่ ไม่ใช่เช่นนั้น หากลองวิธีนี้แล้วล้มเหลว คุณไม่ได้คนเดียว

จากประสบการณ์ แฮกเกอร์กระจายมัลแวร์ทั่วเว็บทุกที่เมื่อเข้าถึงได้ ช่องโหว่ Contact Form 7 ให้สิทธิ์เข้าถึงเต็มรูปแบบ แฮกเกอร์มักติดเชื้อไฟล์และตาราง Database หลายพันรายการ

สิ่งนี้ทำให้การทำความสะอาดซับซ้อนมาก จึงสำคัญที่จะติดตั้ง Scanner ที่ดี และ Cleaner ที่ลบมัลแวร์ชนิดนี้ให้หมด

วิธีแก้ไขเว็บที่ถูกแฮก

การแก้ไขเว็บที่ถูกแฮกเพราะช่องโหว่ Privilege Escalation ยากมาก ไม่ได้แค่ลบไฟล์ร้ายจากโฟลเดอร์เฉพาะ

ทันทีที่แฮกเกอร์อัปโหลดไฟล์ พวกเขาเข้าถึงทุกโฟลเดอร์บนเซิร์ฟเวอร์ หมายความว่า พวกเขาอาจปลูกมัลแวร์ในไฟล์หรือตาราง Database ใดๆ ก็ได้ รวมถึงทิ้ง Backdoor ไว้เพื่อติดเชื้อใหม่ภายหลัง

ด้วยเหตุนี้ เราให้ 3 ขั้นตอนง่ายและมีประสิทธิภาพ โปรดทำตามลำดับนี้อย่างเคร่งครัด:

ขั้นตอน #1: ค้นหาและลบมัลแวร์

หากใช้ Contact Form 7 เราแนะนำให้ติดตั้ง MalCare ทันที และสแกนมัลแวร์ฟรี ไม่ว่าจะมีอาการเห็นได้ชัดหรือไม่ มัลแวร์หลายร้อยชนิดอาจหลับตัวนิ่งอยู่บนเซิร์ฟเวอร์

ขั้นตอนนี้สำคัญมาก การลบโฟลเดอร์อัปโหลดไม่เพียงพอ หลายคนอาจไม่รู้จักวิธีทำ ใช้ Malware Scanner ระบุตำแหน่งมัลแวร์และลบให้สิ้นสุด

เราแนะนำ MalCare Security Plugin สำหรับสแกนระดับเซิร์ฟเวอร์ครอบคลุมเว็บทั้งหมด MalCare ตรวจจับมัลแวร์ที่ซ่อนอยู่และแม้แต่มัลแวร์ที่ไม่รู้จัก ในไฟล์และ Database

รักษาความปลอดภัย WordPress: แก้ไขช่องโหว่ Contact Form 7 ทันที

สามารถลบมัลแวร์ทุกอย่างทันทีด้วยตัวเลือก Auto-Clean ในไม่กี่วินาที MalCare ลบมัลแวร์โดยไม่ทำลายโค้ด

มี "Security Gurus" หลายคนยืนยันว่าลบมัลแวร์ด้วยมือดีกว่า แต่ความจริงคือ ต้องมีทักษะเขียนโค้ดระดับสูง หากคุณไม่ใช่มืออาชีพ Cybersecurity เราไม่แนะนำวิธีนี้ในสถานการณ์ใดๆ

หากสนใจวิธีลบมัลแวร์ด้วยมือ เรามีบทความแยก แต่เรา ไม่แนะนำ

ขั้นตอน #2: ลบ Ghost Admins (แอดมินปลอม)

หากทำตามขั้นตอนที่ 1 สำเร็จแล้ว สำรองเว็บก่อนทำต่อ

การเปลี่ยนแปลงอันตรายที่สุดที่แฮกเกอร์ทำได้ผ่านช่องโหว่ Contact Form 7 คือ สร้าง Fake Administrator การเปลี่ยนแปลงนี้ลี้ลับมาก จนเว็บส่วนใหญ่ไม่สังเกต

ส่วนอันตราย: แม้ลบมัลแวร์เสร็จ Malware Scanner ไม่สามารถตรวจจับ Fake Admin User ได้

ใน WordPress Dashboard:

  • เลือก Users > All users
  • Hover ชื่อผู้ใช้ที่ต้องการลบ → คลิก Delete
  • จะไปหน้า Delete user มี 2 ตัวเลือก: Delete user posts หรือ Attribute all content to:
  • เลือก "Attribute all content to:"
  • เลือก Username ใหม่ ที่สร้างไว้ เป็น Author ใหม่ของโพสต์เหล่านั้น
  • คลิก Confirm Deletion
รักษาความปลอดภัย WordPress: แก้ไขช่องโหว่ Contact Form 7 ทันที

ขั้นตอน #3: อัปเดต Contact Form 7

ช่องโหว่ Privilege Escalation ถูกแก้โดยนักพัฒนาตั้งแต่版本 5.0.4 ปัจจุบัน Contact Form 7 อยู่ที่ 5.3.2 แนะนำอัปเดตเป็นรุ่นล่าสุดทันที

การอัปเดตปลั๊กอินจะปิดช่องโหว่ แฮกเกอร์จะไม่สามารถใช้ช่องโหว่เดิมเข้าเว็บได้อีก

วิธีป้องกันการแฮกในอนาคต

มีมาตรการหลายอย่างป้องกันแฮกเกอร์ใช้ช่องโหว่คล้ายกัน ช่องโหว่ Contact Form 7 เพียงหนึ่งกรณีของปลั๊กอินยอดนิยมที่เป็นภัยคุกคาม

แฮกเกอร์หาช่องโหว่ใหม่ทุกวัน ดังนี้คือเคล็ดลับพื้นฐาน:

ติดตั้ง MalCare

เราแนะนำ MalCare มันมี Website Security Scanner ตรวจจับมัลแวร์อัตโนมัติ ต้องการการกระทำด้วยมือน้อยมาก

ยังมี One-click Malware Removal ทำให้ชีวิตง่ายขึ้น

สำคัญกว่า: ได้ Advanced Firewall บล็อก IP ร้ายและบอทจากประเทศ/อุปกรณ์ ก่อนที่เว็บจะโหลด ปกป้องจากโจมตีทั่วไป

MalCare ใช้ Learning Algorithm ทันสมัย ที่เรียนรู้ได้เรื่อยๆ หากเจอมัลแวร์หรือ IP ร้ายใน 250,000+ เว็บที่ปกป้อง จะบล็อกให้เว็บทุกตัวในเครือข่ายโดยอัตโนมัติ

อัปเดตธีมและปลั๊กอิน

ธีมและปลั๊กอินเป็นโค้ดซับซ้อนมาก บางทีมากกว่า WordPress Core เอง ความซับซ้อนมักก่อให้เกิดช่องโหว่ เช่น Privilege Escalation ของ Contact Form 7

อาจน่าประหลาดใจ: มีแฮกเกอร์ใช้ชีวิตค้นหาช่องโหว่แบบนี้ทุกวินาที

อัปเดตธีมและปลั๊กอินเป็นวิธีดี รุ่นใหม่ปิดช่องโหว่ ให้อัปเดตทุกครั้งที่มีรุ่นใหม่ แนะนำลบธีมและปลั๊กอินที่ไม่ใช้

WordPress Hardening

WordPress Hardening คือชุดมาตรการความปลอดภัย ทำให้แฮกเกอร์ยากที่จะแก้ไขเว็บ แม้เขาจะเข้าถึงได้

Hardening กว้างขวาง บางอย่างง่าย เช่น เปลี่ยนรหัสผ่าน บางอย่างซับซ้อน เช่น เปลี่ยน Salts และ Security Keys

เรามีบทความเต็ม: WordPress Hardening – The Safe Way

ด้วยนี้ เว็บ WordPress ของคุณปลอดภัยจากไม่แค่ Contact Form 7 Privilege Escalation แต่ยังรวม:

  • SQL Injection Attacks
  • DDoS Attacks
  • Brute Force Attacks
  • Cross-site Scripting (XSS) Attacks

การอธิบาย Privilege Escalation Hacks

ส่วนนี้ค่อนข้างทางเทคนิค แต่หากใช้ Contact Form 7 ควรเข้าใจว่ากำลังเกิดอะไรขึ้น

ช่องโหว่ Privilege Escalation ของ Contact Form 7 ถูกใช้ประโยชน์ 2 ขั้นตอน:

  • ขั้นตอน 1: เข้าถึงบทบาท Subscriber (ต่ำสุด) ใน WordPress
  • ขั้นตอน 2: ใช้ช่องโหว่เพื่อได้สิทธิ์ Admin เต็มรูปแบบ

WordPress ให้สิทธิ์ต่ำสุด (Subscriber) กับผู้ใช้ใหม่โดยค่าเริ่มต้น บทบาทนี้ไม่มีอำนาจเปลี่ยนแปลงอะไรได้ แต่ช่องโหว่ Contact Form 7 ให้แฮกเกอร์เปลี่ยนบทบาทผู้ใช้เป็นอะไรก็ได้

หมายความว่าอะไรอย่างแน่ชัด?

Contact Form 7 เป็นปลั๊กอินทรงพลังสร้างฟอร์มหลากหลาย ข้อมูลที่ฟอร์มรับจะเก็บในโฟลเดอร์ wp-content บนเว็บ WordPress

รักษาความปลอดภัย WordPress: แก้ไขช่องโหว่ Contact Form 7 ทันที
รูปภาพเครดิต: Elegant Themes

โฟลเดอร์นี้มักมีเนื้อหาทุกประเภทจากทุกส่วนของเว็บ แต่นี่ข้อมูลสาธารณะทั้งหมด ไม่มีข้อมูลไวหรือส่วนตัว

เรื่องนี้สมเหตุสมผล: ผู้ส่งข้อมูลฟอร์มเป็น Subscriber ไม่ควรเข้าถึงข้อมูลไวได้

แต่ฟอร์มมักสร้างโดย Admin หรือ Editor บทบาทเหล่านี้ต้องการอิสระและเข้าถึงบางส่วน Contact Form 7 กำหนดสิทธิ์ผู้ใช้ใหม่เป็น Subscriber ไม่ใช่ Admin ยังไง?

ง่ายๆ: Contact Form 7 ใช้พารามิเตอร์ 'capability_type' กำหนดสิทธิ์ Read, Edit, Delete ช่องโหว่อยู่ในพารามิเตอร์นี้ อนุญาตให้แฮกเกอร์อัปโหลดไฟล์ตรงไปที่ Home Directory ของ WordPress

จากโฟลเดอร์นี้เพียงอย่างเดียว แฮกเกอร์อาจ Deface เว็บหรือโจมตี Spamvertising

บางกรณีร้ายพอที่จะทำให้ Google Blacklist เว็บ

แต่ Privilege Escalation อนุญาตโจมตีอันตรายกว่า มีไฟล์นอก wp-content เช่น wp-config และ .htaccess

รักษาความปลอดภัย WordPress: แก้ไขช่องโหว่ Contact Form 7 ทันที
รูปภาพเครดิต: Xneelo

ไฟล์เหล่านี้มี Database Credentials และ Config ของเว็บ แฮกเกอร์สามารถเข้าถึงได้โดยแก้ไข Capabilities ของบทบาทผู้ใช้

ภายในนาที แฮกเกอร์หา Credentials เข้าเว็บทั้งหมดได้ หรือสร้าง Ghost Admin เพื่อเข้าถึงโดยตรงแบบไม่จำกัด

นี่อันตรายมาก เพราะให้แฮกเกอร์แก้ไขฟอร์มและเข้าถึงไฟล์นอก wp-content ได้ อาจแก้ไขประเภท Input ที่ฟอร์มรับได้ ช่องโหว่นี้ให้บทบาทผู้ใช้ไหนก็ตามแก้ไขเว็บได้

การอธิบาย Unrestricted File Upload Vulnerability

บางฟอร์มรับไฟล์ เช่น Resume หรือ ID Proof รูปแบบมาตรฐาน PDF, JPEG, PNG, GIF ไม่ก่อให้เกิดปัญหา

แต่ช่องโหว่ Contact Form 7 ให้ผู้ใช้เปลี่ยนประเภทไฟล์ที่รับได้ ช่องโหว่นี้ส่งผลต่อ 5 ล้าน+ เว็บที่ใช้ Contact Form 7 เรียกว่า Unrestricted File Upload Vulnerability

หมายความว่าเว็บอาจเริ่มรับไฟล์ Executable เช่น PHP, ASP เฉพาะสังเกต Double Extensions เช่น .php.png

ไฟล์เหล่านี้ Execute คำสั่งและฟังก์ชันบนเว็บ แฮกเกอร์สามารถส่งไฟล์ PHP พร้อมสคริปต์ร้ายผ่าน Contact Form 7

นี่เป็นรูปแบบหนึ่งของ XSS Attack ใช้ได้เพื่อ:

  • สร้าง Backdoor ให้แฮกเกอร์เข้าถึงเว็บเมื่อพอใจ
  • สร้าง Ghost Admin Users ให้เข้าถึงผ่านหน้าล็อกอิน
  • แก้ไขเนื้อหาเว็บขาย/โปรโมทสินค้าและยาเสพติดผิดกฎหมาย
  • Redirect ผู้เยี่ยมชมไปเว็บร้ายหรือผู้ใหญ่

ยังมีการโจมตีอื่นๆ ที่แฮกเกอร์ทำได้อย่างมีประสิทธิภาพด้วยความพยายามน้อย มากกว่านี้ การป้องกันล่วงหน้าดีกว่า

เราแนะนำติดตั้ง Malware Scanner ที่สแกนรอบควัน และ WordPress Firewall ป้องกันการโจมตีอนาคต

ต่อไปควรทำอะไร?

แฮกเกอร์มีวิธีหลายอย่างเข้าเว็บ: Brute Force, XSS, ขโมย Cookies ไม่มีที่สิ้นสุด

เพื่อปกป้องเว็บจากภัยคุกคามและการโจมตีอย่างสมบูรณ์ เราแนะนำ ติดตั้ง MalCare ไฟร์วอลล์บล็อกการโจมตีล่วงหน้า สแกนเนอร์ตรวจสอบทุกวัน

อ่านเคล็ดลับ WordPress Hardening ปกป้องเว็บจากแดชบอร์ด MalCare ได้ในไม่กี่คลิก

FAQs

Contact Form 7 ปลอดภัยไหม?

ไม่ รุ่นปัจจุบันไม่มีช่องโหว่ที่รู้จัก แต่นี้รุ่นเก่ามีช่องโหว่มาก วิธีง่ายสุดคืออัปเดตรุ่นล่าสุด แต่เราแนะนำสแกนมัลแวร์เผื่อไว้

Akismet ทำงานกับ Contact Form 7 ได้ไหม?

ได้ แต่ Akismet ป้องกัน Spam Input ในฟอร์ม ไม่ได้แก้ช่องโหว่ Privilege Escalation แนะนำอัปเดต Contact Form 7 รุ่นล่าสุดทันที

Privilege Escalation คืออะไร และ ทำไมสำคัญ?

Privilege Escalation เป็นช่องโหว่ที่แฮกเกอร์ใช้เข้าถึงไฟล์และ Database ที่ถูกจำกัด สามารถเข้าถึงข้อมูลไวและ Deface เนื้อหาได้

กลไก Privilege Escalation ที่พบบ่อยคืออะไร?

ปลั๊กอินและธีม WordPress หลายตัวมีช่องโหว่ Privilege Escalation สาเหตุทั่วไป: Cross-site Scripting, การจัดการ Cookie ผิดวิธี, รหัสผ่านอ่อนแอ

ปลั๊กอินตัวเลือกแทน Contact Form 7 ที่ดีคืออะไร?

มีหลายตัวเลือก: ด้านความปลอดภัย เราแนะนำ Ninja Forms, Gravity Forms, Visual Form Builder รุ่นล่าสุด