Contact Form 7 เป็นหนึ่งในปลั๊กอิน WordPress ยอดนิยมที่มีการติดตั้งเกือบ 10 ล้านครั้ง หลายปีที่ผ่านมา มีการเปิดเผยว่ามีข้อบกพร่องด้านความปลอดภัยที่สำคัญหลายประการ ไม่น่าแปลกใจเลยที่ช่องโหว่เหล่านี้ทำให้ไซต์จำนวนมากถูกแฮ็ก
โดยเฉพาะอย่างยิ่ง เมื่อ 7 ปีที่แล้วมีช่องโหว่ในการยกระดับสิทธิ์ ช่องโหว่อื่น ๆ นั้นค่อนข้างน้อยและไม่ได้ถูกเอารัดเอาเปรียบมากนัก แต่ช่องโหว่ในการยกระดับสิทธิ์ยังคงเป็นสาเหตุของการละเมิดความปลอดภัยที่สำคัญและการแฮ็กในเว็บไซต์ต่างๆ ทั่วโลก
เราจะอธิบายเพิ่มเติมในบทความนี้ และให้วิธีการที่แน่นอนในการแก้ไขช่องโหว่ในการส่งต่อสิทธิ์ของ Contact Form 7
TL;DR: หากคุณสงสัยว่าเว็บไซต์ของคุณถูกแฮ็ก ติดตั้งปลั๊กอินความปลอดภัย MalCare . มันจะสแกนไซต์ WordPress ของคุณและระบุการแฮ็ก คุณทำความสะอาดเว็บไซต์ได้ทันทีและปกป้องเว็บไซต์จากการโจมตีในอนาคตด้วย
ช่องโหว่ Contact Form 7 คืออะไร?
ช่องโหว่ Contact Form 7 ทำให้แฮกเกอร์สามารถอัพโหลดมัลแวร์ไปยังโฟลเดอร์อัพโหลด WordPress; โดยเฉพาะ /wp-content/uploads/wpcf7_uploads/ โฟลเดอร์ เมื่ออัปโหลดไฟล์แล้ว แฮกเกอร์จะเข้าควบคุมเว็บไซต์ทั้งหมดได้
ทีนี้ ใครจะจินตนาการว่าการลบเนื้อหาของ wpcf7_uploads โฟลเดอร์จะแก้ปัญหาได้ แต่นั่นไม่เป็นความจริง ดังนั้น หากคุณได้ลองวิธีนั้นแล้วล้มเหลว แสดงว่าคุณไม่ได้อยู่คนเดียว
เมื่อเวลาผ่านไป เราพบว่าแฮกเกอร์แพร่กระจายมัลแวร์ไปทั่วไซต์ เมื่อพวกเขาเข้าถึงได้ ช่องโหว่ Contact form 7 ช่วยให้เข้าถึงแฮ็กเกอร์ได้อย่างสมบูรณ์ ดังนั้นแฮ็กเกอร์จึงสามารถแพร่ระบาดไฟล์และฐานข้อมูลนับพันไฟล์ได้ตามปกติ
เห็นได้ชัดว่าสิ่งนี้ทำให้กระบวนการทำความสะอาดซับซ้อนมากขึ้น ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องติดตั้งเครื่องสแกนที่ดีและทำความสะอาดเพื่อล้างทุกร่องรอยของมัลแวร์ที่เป็นอันตรายนี้
วิธีแก้ไขเว็บไซต์ที่ถูกแฮ็ก
ดังที่เราได้อธิบายไปแล้ว การแก้ไขเว็บไซต์ที่ถูกแฮ็กเนื่องจากช่องโหว่ในการยกระดับสิทธิ์นั้นยากอย่างเหลือเชื่อ ไม่ใช่เรื่องง่ายเหมือนกับการลบไฟล์ที่เป็นอันตรายออกจากโฟลเดอร์เฉพาะ
วินาทีที่แฮ็กเกอร์อัปโหลดไฟล์ พวกเขาสามารถเข้าถึงทุกโฟลเดอร์บนเซิร์ฟเวอร์ได้ ซึ่งหมายความว่าแฮ็กเกอร์อาจวางมัลแวร์ลงในไฟล์หรือตารางฐานข้อมูลอย่างแท้จริง พวกเขาอาจทิ้งแบ็คดอร์เพื่อทำให้เว็บไซต์ของคุณกลับมาติดเชื้ออีกครั้ง
ด้วยเหตุนี้ เราจะให้ 3 ขั้นตอนที่ง่ายและมีประสิทธิภาพแก่คุณในการแก้ไขปัญหานี้ อย่าลืมดำเนินการตามลำดับนี้:
ขั้นตอน #1:ค้นหาและลบมัลแวร์
หากคุณกำลังใช้แบบฟอร์มการติดต่อ 7 เราขอแนะนำให้คุณติดตั้ง MalCare ทันที และรับการสแกนมัลแวร์ฟรีสำหรับเว็บไซต์ของคุณ ไม่สำคัญหรอกว่าจะมีสัญญาณบ่งชี้ว่าเว็บไซต์ของคุณถูกแฮ็กหรือไม่ มีมัลแวร์หลายร้อยตัวที่แฝงตัวอยู่ในเซิร์ฟเวอร์ของคุณ
ขั้นตอนนี้มีความสำคัญ ดังที่เราได้กล่าวไปแล้ว การลบโฟลเดอร์อัปโหลดนั้นไม่เพียงพอ หลายๆ คนอาจไม่รู้ด้วยซ้ำว่าต้องทำอย่างไรตั้งแต่แรก คุณสามารถใช้เครื่องสแกนมัลแวร์เพื่อระบุตำแหน่งของมัลแวร์และนำออกได้ทันที
เราขอแนะนำให้ใช้ MalCare Security Plugin สำหรับการสแกนระดับเซิร์ฟเวอร์ของเว็บไซต์ทั้งหมดของคุณ MalCare สามารถตรวจจับมัลแวร์ที่ซ่อนอยู่และไม่รู้จักในไฟล์และฐานข้อมูลของเว็บไซต์ของคุณ
คุณยังสามารถลบร่องรอยของมัลแวร์ทั้งหมดออกจากเว็บไซต์ของคุณได้ทันทีโดยใช้ ล้างอัตโนมัติ ตัวเลือก. ในไม่กี่วินาที MalCare จะลบมัลแวร์ออกจากเว็บไซต์ของคุณโดยไม่ทำลายโค้ด
ขณะนี้ มี “ผู้เชี่ยวชาญด้านความปลอดภัย” หลายคนที่ยืนยันว่าการลบมัลแวร์ออกจากเว็บไซต์ของคุณด้วยตนเองเป็นตัวเลือกที่ดีกว่ามาก แต่ความจริงก็คือการรู้ว่าต้องทำอย่างไรนั้นต้องมีการเข้ารหัสที่จริงจัง เราไม่แนะนำวิธีนี้ไม่ว่าในกรณีใดๆ เว้นแต่คุณจะเป็นผู้เชี่ยวชาญด้านความปลอดภัยในโลกไซเบอร์
อย่างไรก็ตาม หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับวิธีลบมัลแวร์ออกจากเว็บไซต์ WordPress ด้วยตนเอง เราก็มีบทความเกี่ยวกับหัวข้อนั้นด้วยเช่นกัน
อีกครั้ง เราไม่แนะนำให้ทำเช่นนั้นไม่ว่าในกรณีใดๆ
ขั้นตอน #2:ลบ ghost admins
หากคุณติดตามบทความจนถึงตอนนี้ แสดงว่าคุณสามารถลบมัลแวร์ออกจากเว็บไซต์ของคุณได้อย่างปลอดภัย ดังนั้น ก่อนที่คุณจะทำการเปลี่ยนแปลงใดๆ เพิ่มเติม เราขอแนะนำให้คุณสำรองข้อมูลไซต์ของคุณตอนนี้
หนึ่งในการเปลี่ยนแปลงที่อันตรายที่สุดที่แฮ็กเกอร์สามารถทำได้โดยใช้ช่องโหว่ในการยกระดับสิทธิ์ Contact Form 7 คือการสร้างผู้ดูแลระบบปลอม นี่เป็นการเปลี่ยนแปลงเล็กน้อยที่เว็บไซต์ส่วนใหญ่ไม่เคยสังเกตเห็นเลย
ส่วนที่อันตรายก็คือ แม้ว่าคุณจะลบมัลแวร์ออกจากเว็บไซต์ของคุณ แต่ไม่มีเครื่องสแกนมัลแวร์ใดที่สามารถตรวจจับผู้ดูแลระบบปลอมได้
ในแดชบอร์ด WordPress ของคุณ:
- เลือก ผู้ใช้> ผู้ใช้ทั้งหมด
- วางเมาส์เหนือชื่อผู้ใช้ที่คุณต้องการลบแล้วคลิกปุ่ม ลบ ลิงค์ที่ปรากฏขึ้น
- คุณถูกนำไปยัง ลบหน้าผู้ใช้ โดยมีสองตัวเลือก:ลบโพสต์ของผู้ใช้ หรือ กำหนดโพสต์ให้กับผู้ใช้ใหม่ .
- เลือก “ระบุเนื้อหาทั้งหมดให้กับ: ”
- เลือก ชื่อผู้ใช้ใหม่ คุณสร้างในฐานะผู้เขียนใหม่สำหรับโพสต์เหล่านี้
- คลิกปุ่ม ยืนยันการลบ ปุ่ม.
ขั้นตอน #3:อัปเดตแบบฟอร์มการติดต่อ 7
ช่องโหว่การยกระดับสิทธิ์ Contact Form 7 ได้รับการแก้ไขโดยผู้พัฒนาดั้งเดิมในเวอร์ชัน 5.0.4 ขณะนี้ Contact Form 7 กำลังเผยแพร่เวอร์ชัน 5.3.2 และเราขอแนะนำให้คุณอัปเดตปลั๊กอินเป็นเวอร์ชันล่าสุด
การอัปเดตปลั๊กอินจะลบช่องโหว่ ซึ่งหมายความว่าแฮ็กเกอร์ไม่สามารถใช้ช่องโหว่เดียวกันนี้เพื่อเจาะเข้าไปในเว็บไซต์ของคุณได้อีกต่อไป
วิธีป้องกันการแฮกในอนาคต
มีมาตรการบางอย่างที่คุณสามารถทำได้เพื่อปกป้องเว็บไซต์ของคุณจากแฮกเกอร์ที่ใช้ประโยชน์จากช่องโหว่ด้านความปลอดภัยที่คล้ายคลึงกัน ช่องโหว่ในการยกระดับสิทธิ์ของ Contact Form 7 เป็นเพียงตัวอย่างหนึ่งของปลั๊กอินยอดนิยมที่สร้างภัยคุกคามความปลอดภัยให้กับเว็บไซต์ของคุณ
แฮกเกอร์ค้นหาช่องโหว่ใหม่ๆ ทุกวัน ด้วยเหตุนี้ ต่อไปนี้คือเคล็ดลับพื้นฐานบางประการในการปกป้องไซต์ของคุณจากการโจมตีในอนาคต:
ติดตั้ง MalCare
เราขอแนะนำให้คุณติดตั้ง MalCare MalCare มาพร้อมกับเครื่องสแกนความปลอดภัยของเว็บไซต์ที่ตรวจจับมัลแวร์บนเว็บไซต์ของคุณโดยอัตโนมัติ มีการดำเนินการโดยเจ้าหน้าที่น้อยมากจากจุดสิ้นสุดของคุณ
คุณยังได้รับเครื่องมือกำจัดมัลแวร์ในคลิกเดียวซึ่งจะทำให้ชีวิตของคุณง่ายขึ้นมาก
ที่สำคัญกว่านั้น คุณยังได้รับไฟร์วอลล์ขั้นสูงที่บล็อกที่อยู่ IP และบอทที่เป็นอันตรายจากประเทศหรืออุปกรณ์ ก่อนที่เว็บไซต์ของคุณจะถูกโหลด ซึ่งช่วยให้เว็บไซต์ของคุณปลอดภัยจากการโจมตีที่พบบ่อยที่สุด
MalCare ทำงานบนอัลกอริธึมการเรียนรู้ล้ำสมัยที่ฉลาดขึ้นเรื่อยๆ หาก MalCare พบมัลแวร์หรือ IP ที่เป็นอันตรายในเว็บไซต์กว่า 250,000 แห่งที่ MalCare ปกป้อง ระบบจะป้องกันเว็บไซต์ทั้งหมดในเครือข่ายโดยอัตโนมัติ
อัปเดตธีมและปลั๊กอิน
ธีมและปลั๊กอินเป็นโค้ดที่ซับซ้อนอย่างเหลือเชื่อ บางครั้งมันก็ซับซ้อนกว่าตัวหลักของ WordPress ความซับซ้อนดังกล่าวมักทำให้เกิดข้อบกพร่องด้านความปลอดภัย เช่น ช่องโหว่ในการยกระดับสิทธิ์ Contact Form 7
สิ่งนี้อาจทำให้คุณประหลาดใจ แต่มีแฮ็กเกอร์ที่ใช้ชีวิตทุกช่วงเวลาที่ตื่นขึ้นเพื่อค้นหาช่องโหว่ดังกล่าวเพื่อเอารัดเอาเปรียบ
การอัปเดตธีมและปลั๊กอินอยู่เสมอเป็นวิธีที่ดีในการรักษาความปลอดภัยให้กับเว็บไซต์ของคุณ เนื่องจากเวอร์ชันใหม่จะแก้ไขช่องโหว่เหล่านี้ ดังนั้น ตรวจสอบให้แน่ใจว่าคุณได้อัปเดตปลั๊กอินและธีมของ WordPress เมื่อเวอร์ชันใหม่พร้อมใช้งาน นอกจากนี้เรายังแนะนำให้ลบธีมและปลั๊กอินที่คุณไม่ได้ใช้อีกต่อไป
WordPress ชุบแข็ง
การแข็งตัวของ WordPress เป็นชุดของมาตรการรักษาความปลอดภัยที่คุณสามารถทำได้เพื่อทำให้แฮกเกอร์ปรับเปลี่ยนเว็บไซต์ของคุณได้ยากยิ่ง แม้ว่าพวกเขาจะเข้าถึงได้ก็ตาม
ตอนนี้ การชุบแข็งเป็นหัวข้อที่ค่อนข้างกว้าง มาตรการบางอย่างเหล่านี้ค่อนข้างง่าย เช่น การเปลี่ยนรหัสผ่านของผู้ใช้ แต่ยังมีมาตรการที่ซับซ้อนกว่านั้น เช่น การเปลี่ยนเกลือและคีย์ความปลอดภัย
ดังนั้นเราจึงสร้างบทความทั้งหมดเกี่ยวกับการชุบแข็งของ WordPress – วิธีที่ปลอดภัย
ด้วยเหตุนี้ เว็บไซต์ WordPress ของคุณจึงปลอดภัยจากการยกระดับสิทธิ์ Contact Form 7 เท่านั้น แต่ยังรวมถึงการโจมตีอื่นๆ อีกจำนวนมาก เช่น:
- การโจมตีด้วยการฉีด SQL
- การโจมตี DDoS
- โจมตีด้วยกำลังเดรัจฉาน
- การโจมตีแบบ Cross-site scripting (XSS)
อธิบายการแฮ็กการยกระดับสิทธิ์
ส่วนนี้เป็นข้อมูลทางเทคนิคเล็กน้อย แต่ถ้าคุณใช้ปลั๊กอิน Contact Form 7 บนไซต์ WordPress ของคุณ คุณอาจต้องการทำความเข้าใจว่าเกิดอะไรขึ้น
ช่องโหว่การยกระดับสิทธิ์ Contact Form 7 ถูกใช้ในสองขั้นตอน:
- ขั้นตอนที่ 1:เข้าถึงบทบาทสมาชิกที่ต่ำต้อยในเว็บไซต์ WordPress
- ขั้นตอนที่ 2:ใช้ช่องโหว่เพื่อรับสิทธิ์การเข้าถึงระดับผู้ดูแลระบบที่ไม่จำกัด
เว็บไซต์ WordPress กำหนดระดับการเข้าถึงต่ำสุดให้กับผู้ใช้ใหม่ตามค่าเริ่มต้น – สมาชิก WordPress ในตอนนี้ บทบาทนี้จะไม่ดึงอำนาจคุณเพียงพอที่จะเปลี่ยนแปลงอะไรบนเว็บไซต์ WordPress แต่การโจมตีเพื่อยกระดับสิทธิ์ Contact Form 7 ทำให้แฮ็กเกอร์เปลี่ยนบทบาทของผู้ใช้เป็นอะไรก็ได้ที่ต้องการ
หมายความว่าอย่างไรกันแน่?
Contact Form 7 เป็นหนึ่งในปลั๊กอิน WordPress ที่ทรงพลังที่สุด ซึ่งใช้สร้างรูปแบบต่างๆ เมื่อส่งข้อมูลที่แบบฟอร์มยอมรับจะถูกเก็บไว้ในโฟลเดอร์ชื่อ 'wp-content' บนเว็บไซต์ WordPress ของคุณ
โดยทั่วไป โฟลเดอร์นี้มีเนื้อหาทุกประเภทจากส่วนต่างๆ ของเว็บไซต์ แต่ข้อมูลเหล่านี้เป็นข้อมูลสาธารณะทั้งหมด และไม่มีข้อมูลใดในโฟลเดอร์นี้ที่มีความละเอียดอ่อนหรือเป็นข้อมูลส่วนตัว
มีเหตุผลมากกว่าหนึ่งเหตุผล ใครก็ตามที่ส่งข้อมูลไปยังแบบฟอร์มของคุณคือสมาชิก WordPress พวกเขาไม่ควรเข้าถึงข้อมูลที่ละเอียดอ่อนบนเว็บไซต์
ในทางกลับกัน ฟอร์มมักจะถูกสร้างขึ้นโดยผู้ดูแลระบบหรือผู้แก้ไข เหล่านี้เป็นบทบาทของผู้ใช้ที่ต้องการอิสระอย่างมากและเข้าถึงส่วนต่างๆ ของเว็บไซต์ ดังนั้น Contact Form 7 จะกำหนดบทบาทของผู้ใช้ WordPress ใหม่ในฐานะสมาชิกและไม่ใช่ผู้ดูแลระบบได้อย่างไร
พูดง่ายๆ ก็คือ Contact Form 7 ใช้พารามิเตอร์ที่เรียกว่า 'capability_type' เพื่อกำหนดสิทธิ์ของผู้ใช้สำหรับฟังก์ชันการอ่าน แก้ไข และลบ มีข้อบกพร่องอยู่ภายในพารามิเตอร์นี้และช่วยให้แฮ็กเกอร์สามารถอัปโหลดไฟล์ไปยังโฮมไดเร็กทอรีของ WordPress ได้โดยตรง
จากโฟลเดอร์นี้เพียงอย่างเดียว แฮ็กเกอร์อาจสามารถทำให้ไซต์ของคุณเสียหายหรือเริ่มการโจมตีด้วยสแปมได้
ในบางกรณี การโจมตีอาจเป็นอันตรายมากพอที่จะทำให้เว็บไซต์ของคุณขึ้นบัญชีดำโดย Google
แต่ช่องโหว่ในการเพิ่มสิทธิพิเศษทำให้ผู้โจมตีสามารถโจมตีที่อันตรายกว่าได้มาก นอกจากนี้ยังมีไฟล์นอกโฟลเดอร์ wp-content เช่น ไฟล์ wp-config และ .htaccess ของคุณ
ขณะนี้ ไฟล์เหล่านี้มีข้อมูลประจำตัวของฐานข้อมูลและการกำหนดค่าเว็บไซต์ของคุณ ดังนั้น แฮ็กเกอร์ที่ใช้ช่องโหว่ในการยกระดับสิทธิ์ Contact Form 7 สามารถเข้าถึงไฟล์เหล่านี้ได้โดยการปรับเปลี่ยนความสามารถของบทบาทของผู้ใช้
ภายในไม่กี่นาที แฮ็กเกอร์สามารถค้นหาข้อมูลรับรองการเข้าถึงเว็บไซต์ทั้งหมดของคุณได้ หรือที่แย่กว่านั้นคือ พวกเขาสามารถสร้างบัญชีผู้ดูแลระบบ ghost เพื่อให้สามารถเข้าถึงทั้งเว็บไซต์ได้โดยตรงโดยไม่จำกัด
สิ่งนี้เป็นอันตรายอย่างเหลือเชื่อเพราะทำให้แฮ็กเกอร์สามารถแก้ไขแบบฟอร์มและให้สิทธิ์เข้าถึงไฟล์ภายนอก wp-content นอกจากนี้ยังสามารถใช้เพื่อแก้ไขชนิดของอินพุตของผู้ใช้ที่แบบฟอร์มยอมรับได้ ช่องโหว่ดังกล่าวทำให้บทบาทของผู้ใช้ทำการเปลี่ยนแปลงเว็บไซต์ได้เป็นหลัก
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.
คำถามที่พบบ่อย
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.