จะทำอย่างไรถ้าติด SEO Spam บน WordPress

เผยแพร่แล้ว: 2021-05-17

ที่ Jetpack การรับมือกับภัยคุกคามทางเว็บและการโจมตีประเภทต่างๆ เป็นส่วนหนึ่งของกิจวัตรของเรา โดยส่วนใหญ่แล้วจะมีตั้งแต่การรวบรวมไฟล์ที่เป็นอันตรายและการค้นหาเวกเตอร์การโจมตี ไปจนถึงการให้ความช่วยเหลือในการกู้คืนเว็บไซต์จากข้อมูลสำรองล่าสุด แต่บางครั้งเราก็เข้าสู่มิติที่แตกต่างของการโจมตีที่สร้างสรรค์จริงๆ ซึ่งเป็นมิติของการติดเชื้อซ้ำที่อธิบายไม่ได้ — เราเข้าสู่ … เขตสนธยา

โอเค ฉันอาจจะดูดราม่าเกินไป แต่อดทนไว้ในขณะที่ฉันจัดฉากสำหรับเรื่องลึกลับนี้ พร้อม? เชิญร่วมเดินทางไปดินแดนแห่งผี สแปม และเครื่องมือค้นหากับฉัน

พฤติกรรมที่เป็นอันตราย

เราพบเว็บไซต์ที่อยู่ภายใต้การโจมตีที่น่าสนใจมาก ครั้งแรกปรากฏเป็นอีเมลที่ส่งโดย Google Search Console: URL ที่ไม่ธรรมดา (และ URL ที่ดูน่าสงสัยซึ่งมี URL ที่คลิกได้อยู่ข้างใน) ถูกระบุว่าเป็นหน้าที่เติบโตสูงสุด

รูปภาพแสดงสแปมที่แทรกลงใน URL
หน้าที่เติบโตสูงสุดของ Google Search Engine Tool

เจ้าของเว็บไซต์ไม่พอใจเล็กน้อยเนื่องจากพฤติกรรมเช่นนี้มักเป็นผลมาจากการติดไวรัส แต่ Jetpack ไม่ได้ตรวจพบหรือเตือนพวกเขาเกี่ยวกับสิ่งใดๆ นอกจากนี้ หน้าเหล่านี้ไม่มีอยู่บนเว็บไซต์เมื่อตรวจสอบ แต่ Google จัดทำดัชนีอยู่แล้ว Twilight zone เข้มข้นขึ้น

เมื่อเราตรวจสอบไฟล์ที่น่าสงสัยที่ Jetpack Scan อาจพลาดไป (ไม่มีเครื่องมือรักษาความปลอดภัยที่ตรวจจับภัยคุกคามได้ 100%) สิ่งต่างๆ ก็ยิ่งแปลกเข้าไปใหญ่ WordPress Core และปลั๊กอินไม่เสียหาย: ไม่มีไฟล์หรือสคริปต์ที่แทรกลงในฐานข้อมูล ปลั๊กอินที่ล้าสมัยสองสามตัวไม่มีการแก้ไขด้านความปลอดภัย WordPress เป็นเวอร์ชันเดียวที่ตามหลัง (5.6) และการอัปเดตล่าสุดไม่ได้แสดงรายการการแก้ไขด้านความปลอดภัยที่สำคัญใดๆ ไม่มีอะไรน่าสงสัยเลยสักนิด ไม่มีผู้ต้องสงสัยตามปกติ ไม่มีหลักฐานการโจมตี ยังไม่ได้เลย

ขั้นตอนต่อไปคือการตรวจสอบบันทึกการเข้าใช้ บางทีมันอาจจะให้ความกระจ่างเกี่ยวกับความลึกลับนี้ เราจะพบว่าเรากำลังเผชิญกับการโจมตีซีโร่เดย์ หรือในที่สุดเราก็พบหลักฐานสำหรับทฤษฎีลิขสิทธิ์ และเว็บไซต์นี้ติดไวรัสในจักรวาล #1337 เท่านั้น ไปที่บันทึก!

รหัสสำหรับคำขอสแปม
คำขอไปยังสแปมแปลก ๆ นี้
คำขอสแปมแปลก ๆ อีก ทำไม Bing ถึงชอบมัน?
ดูเหมือนว่า Bing จะชอบมันเหมือนกัน... แต่ทำไม?

อย่างที่คุณคาดหวัง: ไม่มีอะไรแปลกเลย นอกจากคำขอจำนวนหนึ่งไปยังหน้าสแปมเหล่านั้นดังที่คุณเห็นในภาพหน้าจอ และพวกเขาทั้งหมดส่งคืน '200 ตกลง' ดังนั้น หน้าเพจจึงอยู่ที่ใดที่หนึ่งในความต่อเนื่องของเวลาและอวกาศ หรือ … เดี๋ยวก่อน … คุณเห็นมันไหม

หน้าเหล่านั้นทั้งหมดชี้ไปที่ตำแหน่งเดียวกัน: `/?s=` หมายความว่าเครื่องมือค้นหา (Google สังเกตเห็นปัญหา แต่คำขอมาจาก Bing) กำลังสร้างดัชนีหน้าผลการค้นหา และทำไมถึงเป็นอย่างนั้น? โปรแกรมรวบรวมข้อมูลไม่ทำการค้นหาบนหน้าเท่าที่เรารู้ใช่ไหม

ความขัดแย้งในการจัดทำดัชนี

พื้นฐานของวิธีการทำงานของเสิร์ชเอ็นจิ้นนั้นค่อนข้างตรงไปตรงมาหากคุณอยู่ในธุรกิจเว็บไซต์ มีโรบ็อต (หรือสคริปต์อัตโนมัติ) ที่รวบรวมข้อมูลหน้าเว็บ จัดทำดัชนีเนื้อหา ใช้เวทย์มนตร์ และจัดเก็บทรัพยากรที่สามารถสืบค้นได้บางส่วนในคลาวด์

ด้วยเหตุนี้ เราจึงขุดบันทึกเพิ่มเติมเล็กน้อยเพื่อดูว่าคำขอใดมีเบาะแสอื่น เช่น ผู้อ้างอิง แต่ไม่มีโชคเลย คำขอที่บันทึกไว้ทั้งหมดมาจากเครื่องมือค้นหา โชคดีที่ Google Search Console มีหน้าอ้างอิงหน้าหนึ่งในบันทึก

การตรวจสอบ Google Search Console ของหน้า
เครื่องมือ Search Console ของ Google ให้คำแนะนำแก่เรา

ตอนนี้ฉันคิดว่าถึงเวลาเปลี่ยนหมวก Twilight Zone ของเราเป็นหมวก CSI และขุดกระดูกของเว็บไซต์บางส่วนเพื่อวางไว้ใต้กล้องจุลทรรศน์

สำหรับผู้ฝึกหัด จะเห็นได้ง่ายว่า URL ของหน้าอ้างอิงเป็นของเว็บไซต์ที่ถูกบุกรุก โชคดีที่เรามีสายตาที่ฝึกฝนมาอย่างดี! ไดเร็กทอรี `index.php` ไม่สมเหตุสมผล และอาจถูกเพิ่มเข้าไปเพื่อทำให้เจ้าของเว็บไซต์สับสน ถัดไป ตามด้วยไดเร็กทอรีสุ่มอื่นและไฟล์ PHP ที่มีชื่อสุ่ม ซึ่งน่าจะเป็นตัวโหลดที่ได้รับเพย์โหลดสุดท้าย: `cargese4/cca442201.htm' ซึ่งเป็นการสุ่มเช่นกัน ทั้งหมดนี้เป็นลักษณะของการติดมัลแวร์ลิงค์ฟาร์ม

การค้นหาอย่างรวดเร็วบน Google เพื่อดูว่ามีการจัดทำดัชนีอะไรสำหรับไซต์อ้างอิง ยืนยันว่าไซต์ดังกล่าวติดไวรัสและให้บริการสแปม SEO เป็นระยะเวลาหนึ่ง เว็บไซต์นี้มีไว้สำหรับบริษัทอาหารในอินเดีย แต่เสนอข้อเสนอเกี่ยวกับรถ SUV ในญี่ปุ่น ใช่ นั่นเป็นสแปม

ผลการค้นหา สแปมโจมตีภาษาญี่ปุ่น
คำค้นหาที่นำสแปมในญี่ปุ่นมาไว้ในไซต์อินเดีย

แต่ไม่มีผลลัพธ์ที่เชื่อมโยงกับเว็บไซต์ของเพื่อนเรา ดังนั้นฉันจึงตัดสินใจค้นหาว่าไซต์อื่นๆ ได้รับผลกระทบจากพฤติกรรมแปลก ๆ แบบเดียวกันนี้หรือไม่

เพื่อที่จะหาเหยื่อเพิ่มเติมของการโจมตีด้วยสแปมนี้ เพื่อจุดประสงค์ด้านการศึกษาเท่านั้น เราจึงใช้ความรู้ Google-fu ของเราเพื่อสร้างคำค้นหาซึ่งจะแสดงไซต์ที่ลงท้ายด้วย .edu ซึ่งมี `/?s=` ใน URL และคำว่า “ซื้อ” ในหัวข้อ และเราได้ 22 ผลลัพธ์ ซึ่งก็เพียงพอแล้วสำหรับการล่าของเรา

ผลการค้นหา ยาเม็ดสแปม
การใช้ไซต์ .edu และ .gov เพื่อตรวจสอบการติดสแปม กรองโดเมน (เช่น .com) ที่สร้างขึ้นสำหรับการทำลิงค์ฟาร์มเท่านั้น

นี่เป็นหลักฐานว่าไซต์ที่รายงานไม่ใช่ไซต์เดียวที่ได้รับผลกระทบ ดูเหมือนว่าจะเป็นปัญหาที่แพร่หลายมากขึ้น เราไตร่ตรองถึงสิ่งที่ทำให้ Google จัดทำดัชนีหน้าเหล่านั้น Googlebot เข้าถึงพวกเขาได้อย่างไร ขั้นตอนต่อไป: ตัวตรวจสอบลิงก์ย้อนกลับ

ผลลัพธ์จากการตรวจสอบลิงก์ย้อนกลับ
ผลลัพธ์จากการตรวจสอบลิงก์ย้อนกลับ

มีเครื่องมือออนไลน์หลายอย่างที่ให้รายงานเกี่ยวกับลิงก์ย้อนกลับไปยังเว็บไซต์ เครื่องมือที่เราใช้ในการวิจัยนี้คือ Ahrefs แต่เครื่องมืออื่นๆ อาจให้ผลลัพธ์เช่นเดียวกัน หน้าการค้นหาที่เป็นอันตรายบางหน้าแสดงอยู่ในผลลัพธ์ เป็นการยืนยันว่าเรามาถูกทางแล้ว

เมื่อเลือกเว็บไซต์ใดเว็บไซต์หนึ่งเพื่อตรวจสอบสิ่งที่เกิดขึ้น เราเห็นความคิดเห็นเกี่ยวกับสแปมเกือบ 5,000 รายการ ดังที่คุณเห็นในภาพหน้าจอถัดไป (พวกเขาควรตรวจสอบ Jetpack Anti-spam) ทุกความคิดเห็นเชื่อมโยงไปยังหน้าค้นหาเว็บไซต์ที่มีสแปมในข้อความค้นหา

ส่วนความคิดเห็นที่ลิงก์ไปยังผลลัพธ์ที่เป็นสแปม
ความคิดเห็นที่เชื่อมโยงกับสแปม

จับกระต่ายขาว

ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ โรบ็อตเครื่องมือค้นหาไม่ทำการค้นหาบนหน้าของเว็บไซต์ แต่ถ้าเจอลิงค์ก็จะตามมา และหากหน้านั้นไม่ได้บอกสคริปต์อัตโนมัติว่าหน้าใดไม่สามารถจัดทำดัชนีได้ หน้านั้นจะเพิ่มเข้าไป

ตัวอย่างการฉีดสแปม
Ye olde ฉีดสแปม

นี่เป็นวิธีการที่ชาญฉลาดในการ "ฉีด" สแปมบนเว็บไซต์เพื่อส่งสแปมผลลัพธ์ของเครื่องมือค้นหา และเพิ่มอันดับของหน้าเว็บไซต์ผ่านการทำฟาร์มลิงก์แบบใช้ความพยายามต่ำ

ตอนนี้เราเข้าใจปัญหาแล้ว เราจะบอกบอทของเครื่องมือค้นหาอย่างไรให้หลีกเลี่ยงการติดตามลิงก์ไปยังหน้าการค้นหา (หรือเพียงแค่ปฏิเสธที่จะจัดทำดัชนี) วิธีที่ดีที่สุดคือการเปลี่ยนแปลงใน WordPress Core ซึ่งจะช่วยปกป้องทั้งชุมชน (หากคุณต้องการรายงานจุดบกพร่องหรือต้องการมีส่วนร่วมในโค้ด โปรดเข้าร่วมกับเรา)

เพื่อหลีกเลี่ยงการทำงานซ้ำที่ไม่จำเป็น เราได้ตรวจสอบ WordPress Core trac และพบว่าปัญหานี้ได้รับการแก้ไขแล้วในเวอร์ชัน 5.7 แต่น่าเสียดายที่ไม่ได้ทำให้การเปลี่ยนแปลงเป็นปัญหาด้านความปลอดภัย

ฉันจะอ้างอิงถึงผู้เขียนซึ่งอธิบายปัญหาได้ดีกว่าที่ฉันทำได้ (ขอบคุณ abagtcs สำหรับรายงาน):

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

นักส่งสแปมจะวางลิงก์เหล่านี้ในวิกิที่เปิดกว้าง ความคิดเห็นของบล็อก ฟอรัม และลิงก์ฟาร์มอื่นๆ โดยอาศัยเครื่องมือค้นหาที่รวบรวมข้อมูลลิงก์ จากนั้นไปที่และจัดทำดัชนีหน้าผลการค้นหาที่มีเนื้อหาที่เป็นสแปม

การโจมตีนี้ค่อนข้างแพร่หลายอย่างน่าประหลาดใจ ส่งผลกระทบต่อเว็บไซต์หลายแห่งทั่วโลก แม้ว่า CMS และไซต์บางแห่งที่ขับเคลื่อนโดยโค้ดที่เขียนขึ้นเองอาจมีความเสี่ยงต่อเทคนิคนี้ จากการตรวจสอบเบื้องต้น ปรากฏว่าอย่างน้อยที่สุดในพื้นที่ .edu แพลตฟอร์มเว็บที่มีเป้าหมายมากที่สุดคือ WordPress”

ไม่น่าแปลกใจเลยที่ไซต์ที่ใหญ่ที่สุดมากกว่า 41% บนเว็บคือไซต์ WordPress

ปิดคดี

มีบทเรียนดีๆ ที่ควรเรียนรู้จากเหตุการณ์นี้:

  1. URL ที่แสดงบนหน้าเว็บที่มีการเติบโตสูงสุดนั้นไม่สะอาด ดังนั้น URL สแปมที่คุณเห็นคั่นด้วยอิโมจิจึงสามารถคลิกได้โดยตรง (สวัสดี เพื่อน Google นั่นคุณ ); ผู้ใช้ที่ไม่รู้ตัวสามารถคลิกและเข้าถึงเนื้อหาที่ไม่ต้องการได้
  2. Google จำเป็นต้องมีการปรับแต่งบางอย่างเพื่อหลีกเลี่ยงการจัดทำดัชนีหน้าสแปมอย่างชัดเจน ตามรายงานของเครื่องมือ มีการรวบรวมข้อมูลหน้าเว็บที่ชัดเจนบางหน้าและไม่ได้จัดทำดัชนี ขณะที่เพิ่มสแปม
  3. ผู้โจมตีจะใช้ประโยชน์จากช่องเปิดที่เล็กที่สุดในระบบของคุณ และเราต้องระวังตัวตลอดเวลา
  4. รับฟังผู้คนและเข้าใจปัญหาของพวกเขาเสมอ หากเราตรวจสอบบันทึกจากเครื่องมือของเราเองเท่านั้น เราจะไม่ทราบปัญหานี้หรือสามารถช่วยแก้ไขไซต์ได้
  5. ทำให้ซอฟต์แวร์ของคุณทันสมัยอยู่เสมอ เสมอ.

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

และหมวกให้ Erin Casali เพื่อเน้นประเด็นนี้และช่วยในการสอบสวน