คำแนะนำนี้ใช้สำหรับการแฮ็กประเภทที่เพิ่มหน้าที่เต็มไปด้วยคีย์เวิร์ดที่ไม่มีความหมายลงในไซต์ ซึ่งเราจะเรียกว่าการแฮ็กแบบปิดบังคีย์เวิร์ดและลิงก์ แม้ว่าคำแนะนำนี้จะออกแบบมาสำหรับผู้ที่ใช้ระบบจัดการเนื้อหา (CMS) ยอดนิยม แต่ก็มีประโยชน์สำหรับผู้ที่ไม่ได้ใช้ CMS ด้วยเช่นกัน
เราอยากแน่ใจว่าคู่มือนี้จะมีประโยชน์กับคุณจริงๆ โปรดแสดงความคิดเห็นเพื่อช่วยเราปรับปรุง
การระบุประเภทของการแฮ็ก
การแฮ็กแบบปิดบังคีย์เวิร์ดและลิงก์จะสร้างหน้าจำนวนมากโดยอัตโนมัติซึ่งมีข้อความ ลิงก์ และรูปภาพที่ไม่สื่อความหมาย โดยบางครั้งหน้าเหล่านี้จะมีองค์ประกอบของเทมเพลตพื้นฐานจากเว็บไซต์ต้นฉบับ ดังนั้นเมื่อมองเผินๆ ก็อาจดูเหมือนส่วนประกอบปกติของเว็บไซต์จนกว่าคุณจะได้อ่านเนื้อหาจริงๆ
หน้าที่ถูกแฮ็กนี้สร้างขึ้นเพื่อควบคุมจัดการปัจจัยการจัดอันดับของ Google แฮ็กเกอร์มักจะพยายามสร้างรายได้ด้วยการขายลิงก์ในหน้าเว็บที่ถูกแฮ็กแก่บุคคลที่สามหลายๆ ราย บ่อยครั้งหน้าที่ถูกแฮ็กจะเปลี่ยนเส้นทางผู้เข้าชมไปยังหน้าที่ไม่เกี่ยวข้อง เช่น เว็บไซต์หนังโป๊ ซึ่งแฮ็กเกอร์สามารถสร้างรายได้
เริ่มต้นด้วยการตรวจสอบเครื่องมือปัญหาด้านความปลอดภัยใน Search Console เพื่อดูว่า Google ตรวจพบหน้าที่ถูกแฮ็กลักษณะนี้ในไซต์ของคุณไหม บางครั้งคุณอาจพบหน้าลักษณะนี้ได้ด้วยการเปิดหน้าต่าง Google Search และพิมพ์ site:_your site url_
โดยใส่ URL ระดับรากของเว็บไซต์ คำสั่งนี้จะแสดงหน้าต่างๆ ที่ Google จัดทำดัชนีให้กับไซต์ ซึ่งรวมถึงหน้าที่ถูกแฮ็กด้วย พลิกดูหน้าผลการค้นหาสองหน้าเพื่อดูว่าพบ URL ที่ผิดปกติบ้างไหม ถ้าไม่พบเนื้อหาที่ถูกแฮกใน Google Search ให้ใช้ข้อความค้นหาเดียวกันนี้กับเครื่องมือค้นหาอื่น ตัวอย่างหน้าตาของแอป
ก็จะมีลักษณะดังต่อไปนี้
โดยปกติเมื่อคุณคลิกลิงก์ไปยังหน้าที่ถูกแฮ็ก คุณจะถูกเปลี่ยนเส้นทางไปยังเว็บไซต์อื่นหรือคุณจะเห็นหน้าที่เต็มไปด้วยเนื้อหาที่ไม่มีความหมาย อย่างไรก็ตาม คุณยังอาจเห็นข้อความที่บ่งบอกว่าหน้านี้ไม่มีอยู่จริง (เช่น ข้อผิดพลาด 404) ด้วย แต่อย่าได้หลงกลไป แฮ็กเกอร์จะพยายามหลอกคุณว่าหน้านั้นได้หายไปหรือได้รับการแก้ไขแล้วทั้งๆ ที่หน้านั้นยังถูกแฮ็กอยู่ ซึ่งทำได้ด้วยการปิดบังเนื้อหา ให้ตรวจหาการปิดบังหน้าเว็บจริงโดยป้อน URL ของเว็บไซต์ในเครื่องมือตรวจสอบ URL ซึ่งจะแสดงเนื้อหาที่ซ่อนอยู่ข้างใต้ให้คุณเห็น
หากคุณเห็นปัญหาเหล่านี้ แสดงว่าเว็บไซต์ของคุณน่าจะได้รับผลกระทบจากการแฮกประเภทนี้
การแก้ไขการแฮ็ก
ก่อนที่จะเริ่ม ให้สร้างสำเนาแบบออฟไลน์ของไฟล์ก่อนที่จะลบไฟล์ออก เพื่อเผื่อไว้ในกรณีที่คุณต้องการนำกลับเข้าระบบในภายหลัง แต่ทางที่ดี คุณควรจะสำรองไซต์ไว้ ทั้งไซต์ก่อนที่จะเริ่มขั้นตอนการทำความสะอาด ซึ่งทำได้โดยบันทึกไฟล์ทั้งหมดในเซิร์ฟเวอร์เก็บไว้นอกเซิร์ฟเวอร์ หรือค้นหาตัวเลือกการสำรองข้อมูลที่ดีที่สุดสำหรับระบบจัดการเนื้อหา (CMS) ของคุณโดยเฉพาะ ถ้าจะใช้ CMS คุณควรสำรองฐานข้อมูลไว้ด้วย
ตรวจสอบไฟล์ .htaccess
(3 ขั้นตอน)
การแฮ็กแบบปิดบังคีย์เวิร์ดและลิงก์จะใช้ไฟล์ .htaccess
เพื่อสร้างหน้าที่ปิดบังหน้าเว็บจริงในเว็บไซต์โดยอัตโนมัติ การอ่านข้อมูลพื้นฐานเกี่ยวกับ .htaccess
ในเว็บไซต์ Apache อย่างเป็นทางการจะช่วยให้คุณเข้าใจมากขึ้นว่าการแฮ็กมีผลกระทบต่อเว็บไซต์ของคุณอย่างไร แต่คุณอาจเลือกข้ามไปก่อนก็ได้
ขั้นตอนที่ 1
ค้นหาไฟล์ .htaccess
ในเว็บไซต์ของคุณ ถ้าไม่แน่ใจว่าอยู่ที่ใด และคุณใช้ CMS อย่างเช่น WordPress, Joomla หรือ Drupal ให้ค้นหา "ตำแหน่งไฟล์ .htaccess" ในเครื่องมือค้นหาควบคู่กับชื่อ CMS ของคุณ
คุณอาจเห็นไฟล์ .htaccess
หลายไฟล์ ทั้งนี้ขึ้นอยู่กับเว็บไซต์ของคุณ
สร้างรายการตําแหน่งไฟล์ทั้งหมด .htaccess
รายการ
ขั้นตอนที่ 2
เปิดไฟล์ .htaccess
เพื่อดูเนื้อหาในไฟล์ โดยในไฟล์นี้ คุณควรจะสามารถระบุบรรทัดโค้ดหนึ่งบรรทัดที่มีลักษณะดังต่อไปนี้
RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]
ตัวแปรในบรรทัดนี้ไม่จำเป็นต้องเป็นแบบนี้ ทั้ง cj2fa
และ tobeornottobe
อาจเป็นตัวอักษรหรือคำผสมกันในรูปแบบใดก็ได้ สิ่งสำคัญคือการระบุ .php
ที่อ้างอิงในบรรทัดนี้
จดไฟล์ .php
ที่ระบุไว้ในไฟล์ .htaccess
ในตัวอย่างนี้ ไฟล์ .php
มีชื่อว่า injected_file.php
แต่จริงๆ แล้วชื่อไฟล์ .php
อาจไม่ชัดเจนนัก โดยปกติจะเป็นชุดคำที่ไม่เป็นอันตรายแบบสุ่ม เช่น horsekeys.php
, potatolake.php
และอื่นๆ แต่มีโอกาสสูงที่จะเป็นไฟล์ .php
ที่เป็นอันตราย ซึ่งเราจะต้องหาให้พบและนำออกในภายหลัง
ขั้นตอนที่ 3
แทนที่ไฟล์ .htaccess
ทั้งหมดด้วยไฟล์ .htaccess
เวอร์ชันที่สะอาดหรือเป็นค่าเริ่มต้น ปกติแล้วคุณจะหาไฟล์ .htaccess
เวอร์ชันเริ่มต้นได้โดยการค้นหา "ไฟล์ .htaccess
เริ่มต้น" และชื่อ CMS ของคุณ
สำหรับเว็บไซต์ที่มีไฟล์ .htaccess
หลายไฟล์ ให้หาเวอร์ชันที่สะอาดของแต่ละไฟล์
แล้วดำเนินการแทนที่
หากไม่มี .htaccess
เริ่มต้นและคุณไม่เคยกำหนดค่าไฟล์ .htaccess
ในเว็บไซต์ ไฟล์ .htaccess
ที่คุณพบในเว็บไซต์อาจเป็นไฟล์ที่เป็นอันตราย บันทึกสำเนาไฟล์ .htaccess
แบบออฟไลน์เพื่อเก็บไว้ใช้ และลบไฟล์ .htaccess
ออกจากเว็บไซต์ของคุณ
การค้นหาและนำไฟล์อื่นที่เป็นอันตรายออก (5 ขั้นตอน)
การระบุไฟล์ที่เป็นอันตรายอาจเป็นเรื่องยุ่งยากและใช้เวลาหลายชั่วโมง ให้ใช้เวลาอย่างเต็มที่ในการตรวจสอบไฟล์ ถ้าคุณยังไม่ได้สำรองไฟล์ในเว็บไซต์ ตอนนี้ก็เป็นโอกาสที่ดี ให้ค้นหาด้วยคำว่า "สำรองข้อมูลไซต์" และชื่อ CMS ของคุณใน Google เพื่อหาคำแนะนำเกี่ยวกับวิธีสำรองข้อมูลในไซต์
ขั้นตอนที่ 1
ถ้าคุณใช้ CMS ให้ติดตั้งไฟล์หลักทั้งหมด (ที่เป็นค่าเริ่มต้น) ที่อยู่ในชุดแพ็กเกจเริ่มต้นของ CMS และไฟล์อื่นๆ ที่คุณอาจเพิ่มไว้ (เช่น ธีม โมดูล ปลั๊กอิน) ซึ่งจะช่วยให้มั่นใจได้ว่าไฟล์เหล่านี้ ไม่มีเนื้อหาที่ถูกแฮ็ก คุณสามารถค้นหา "ติดตั้งใหม่" และชื่อ CMS ใน Google เพื่อหาคำแนะนำเกี่ยวกับขั้นตอนการติดตั้งใหม่ ถ้าคุณมีปลั๊กอิน โมดูล ส่วนขยาย หรือธีม อย่าลืมติดตั้งรายการทั้งหมดนี้อีกครั้งด้วย
ขั้นตอนที่ 2
ให้เริ่มด้วยการค้นหาไฟล์ .php
ที่คุณระบุไว้ในไฟล์ .htaccess
ก่อนหน้านี้ คุณควรจะมีฟังก์ชันการค้นหาบางประเภท ขึ้นอยู่กับว่าคุณกำลังเข้าถึงไฟล์ใดในเซิร์ฟเวอร์ของคุณ ค้นหาชื่อไฟล์ที่เป็นอันตราย ถ้าคุณพบ ก่อนอื่นให้สร้างสำเนาและเก็บไว้ในตำแหน่งอื่นเพื่อใช้ในกรณีที่คุณต้องการคืนค่า จากนั้นลบออกจากเว็บไซต์ของคุณ
ขั้นตอนที่ 3
มองหาไฟล์ที่เป็นอันตรายหรือถูกบุกรุกอื่นๆ ที่เหลืออยู่ คุณอาจนำไฟล์ที่เป็นอันตรายทั้งหมดออกไปแล้วใน 2 ขั้นตอนก่อนหน้านี้ แต่ก็ควรจะทำตามขั้นตอนอีก 2-3 ขั้นข้างหน้านี้เผื่อว่ามีไฟล์อื่นๆ ในเว็บไซต์ที่ถูกบุกรุกอีก
อย่าเพิ่งกังวลไปเพราะคิดว่าจะต้องเปิดและตรวจสอบไฟล์ PHP ทุกๆ ไฟล์ ให้เริ่มด้วยการสร้างรายชื่อไฟล์ PHP ที่น่าสงสัยที่คุณต้องการตรวจสอบ ต่อไปนี้เป็นตัวอย่างวิธีพิจารณาว่าไฟล์ PHP ใดบ้างน่าสงสัย
- หากคุณโหลดไฟล์ CMS มาใหม่แล้ว ให้ดูเฉพาะไฟล์ที่ไม่ได้เป็นส่วนหนึ่งของไฟล์หรือโฟลเดอร์ CMS ที่เป็นค่าเริ่มต้น ซึ่งวิธีนี้จะทำให้ข้ามไฟล์ PHP ได้เป็นจำนวนมาก และเหลือไฟล์ที่ต้องตรวจสอบเพียงเล็กน้อย
- จัดเรียงไฟล์ในไซต์ตามวันที่แก้ไขครั้งล่าสุด มองหาไฟล์ที่มีการแก้ไขในช่วงเวลาที่ห่างจากเวลาที่คุณพบว่าไซต์ถูกแฮ็กเป็นครั้งแรกไม่กี่เดือน
- จัดเรียงไฟล์ในไซต์ตามขนาด มองหาไฟล์ที่มีขนาดใหญ่ผิดปกติ
ขั้นตอนที่ 4
เมื่อคุณมีรายชื่อไฟล์ PHP ที่น่าสงสัยเรียบร้อยแล้ว ให้ตรวจดูว่าไฟล์เหล่านั้นเป็นอันตรายหรือไม่ หากคุณไม่คุ้นเคยกับ PHP ขั้นตอนนี้อาจใช้เวลามากขึ้น ดังนั้นโปรดลองอ่านเอกสารประกอบเกี่ยวกับ PHP เพื่อเป็นการทบทวน หากคุณไม่เคยเขียนโค้ดมาก่อนเลย ขอแนะนำให้ขอความช่วยเหลือ ในระหว่างนี้ คุณสามารถมองหารูปแบบพื้นฐานบางอย่างเพื่อระบุไฟล์ที่เป็นอันตราย
ถ้าคุณใช้ CMS และไม่อยากแก้ไขไฟล์เหล่านั้นโดยตรง ให้เปรียบเทียบไฟล์ในเซิร์ฟเวอร์กับรายการไฟล์เริ่มต้นที่อยู่ในแพ็กเกจของ CMS รวมถึงปลั๊กอินและธีมต่างๆ มองหาไฟล์ที่ไม่ได้อยู่ในกลุ่ม และไฟล์ที่ดูเหมือนว่าจะมีขนาดใหญ่กว่าค่าเริ่มต้น
ขั้นแรก ให้ตรวจไฟล์ที่น่าสงสัยที่คุณได้ระบุไว้แล้วเพื่อหาบล็อกข้อความขนาดใหญ่ที่ดูเหมือนเป็นตัวอักษรและตัวเลขที่ผสมกันอย่างยุ่งเหยิง ปกติแล้วบล็อกข้อความขนาดใหญ่นี้จะนำหน้าด้วยฟังก์ชัน PHP ต่างๆ ที่รวมเข้าด้วยกัน เช่น base64_decode
, rot13
, eval
, strrev
และ gzinflate
ต่อไปนี้เป็นตัวอย่างลักษณะของบล็อกโค้ดดังกล่าว บางครั้งโค้ดเหล่านี้ทั้งหมดจะถูกอัดอยู่ด้วยกันในข้อความยาวๆ บรรทัดเดียว ซึ่งทำให้ดูเหมือนมีขนาดเล็กกว่าที่เป็นจริง
// Hackers try to confuse webmasters by encoding malicious code into
// blocks of texts. Be wary of unfamiliar code blocks like this.
base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));
บางครั้งโค้ดก็ไม่ได้ผสมปนเปกันจนยุ่งเหยิงและดูเหมือนเป็นสคริปต์ที่ปกติดี หากคุณไม่แน่ใจว่าเป็นโค้ดของแฮ็กเกอร์หรือไม่ ให้ไปที่ฟอรัมความช่วยเหลือสำหรับผู้ดูแลเว็บ ซึ่งกลุ่มผู้ดูแลเว็บที่มีประสบการณ์จะช่วยคุณตรวจสอบไฟล์ได้
ขั้นตอนที่ 5
เมื่อคุณรู้แล้วว่าไฟล์ใดน่าสงสัย ให้สร้างข้อมูลสำรองหรือสำเนาไว้ในเครื่องโดยบันทึกไว้ในคอมพิวเตอร์เพื่อเผื่อไว้ในกรณีที่ไฟล์นั้นไม่เป็นอันตราย แล้วลบไฟล์ที่น่าสงสัย
ตรวจดูว่าไซต์เป็นปกติแล้วหรือไม่
เมื่อกำจัดไฟล์ที่ถูกแฮ็กออกไปแล้ว ให้ตรวจสอบว่าการทำงานหนักของคุณให้ผลคุ้มค่าหรือไม่ จำหน้าที่เต็มไปด้วยคำที่ไม่มีความหมายที่พบก่อนหน้านี้ได้ไหม ให้ใช้เครื่องมือโปรแกรม Googlebot จำลองกับหน้าดังกล่าวอีกครั้งเพื่อดูว่าหน้ายังอยู่หรือไม่ ถ้าผลจากโปรแกรม Googlebot จำลองออกมาว่า "ไม่พบ" ก็แสดงว่าไซต์น่าจะไร้ปัญหาใดๆ แล้ว
ฉันจะป้องกันการถูกแฮ็กอีกได้อย่างไร
การแก้ไขช่องโหว่ในเว็บไซต์เป็นขั้นตอนสุดท้ายที่จำเป็นสำหรับการแก้ไขเว็บไซต์ ผลการวิจัยเมื่อเร็วๆ นี้พบว่า 20% ของไซต์ที่ถูกแฮก ถูกแฮ็กอีกครั้งภายใน 1 วัน การรู้อย่างแน่ชัดว่าไซต์ถูกแฮ็กได้อย่างไรมีประโยชน์ อ่านคำแนะนำเรื่องวิธีแฮ็กเว็บไซต์ที่นักส่งสแปมทำบ่อยที่สุดเพื่อเริ่มตรวจสอบ อย่างไรก็ตาม หากคุณหาไม่พบจริงๆ ว่าไซต์ถูกแฮ็กได้อย่างไร ให้ลองดูรายการตรวจสอบสิ่งที่คุณทำได้ด้านล่างซึ่งจะช่วยลดช่องโหว่ในไซต์ได้
- สแกนคอมพิวเตอร์เป็นประจำ: ใช้เครื่องมือสแกนไวรัสยอดนิยมเพื่อหาไวรัสหรือช่องโหว่
- เปลี่ยนรหัสผ่านเป็นประจำ: การเปลี่ยนรหัสผ่านของบัญชีทั้งหมดของเว็บไซต์เป็นประจำ เช่น ผู้ให้บริการโฮสติ้ง, FTP และ CMS จะช่วยป้องกันการเข้าถึงไซต์โดยไม่ได้รับอนุญาตได้ ซึ่งสิ่งสำคัญคือต้องสร้างรหัสผ่าน ที่รัดกุมและไม่ซ้ำกันสำหรับแต่ละบัญชี
- ใช้การตรวจสอบสิทธิ์แบบ 2 ปัจจัย (2FA): ลองเปิดใช้ 2FA ในบริการใดก็ตามที่กำหนดให้คุณต้องลงชื่อเข้าสู่ระบบ 2FA ทำให้แฮ็กเกอร์ลงชื่อเข้าสู่ระบบได้ยากขึ้น แม้ว่าจะขโมยรหัสผ่านของคุณสำเร็จก็ตาม
- อัปเดต CMS, ปลั๊กอิน, ส่วนขยาย และโมดูลเป็นประจำ: หวังว่าคุณจะได้ทำตามขั้นตอนนี้แล้ว ไซต์จำนวนมากถูกแฮ็กเนื่องจาก ซอฟต์แวร์ที่ล้าสมัยทำงานอยู่ ทั้งนี้ CMS บางระบบรองรับการอัปเดตอัตโนมัติด้วย
- พิจารณาสมัครใช้บริการรักษาความปลอดภัยเพื่อตรวจสอบไซต์: มีบริการดีๆ มากมายที่ช่วยคุณตรวจสอบเว็บไซต์โดยคิดค่าธรรมเนียมเพียงเล็กน้อย ลองลงทะเบียนกับผู้ให้บริการดังกล่าวเพื่อให้ไซต์ปลอดภัย
แหล่งข้อมูลเพิ่มเติม
ยังมีแหล่งข้อมูลอีกหลายรายการที่อาจช่วยคุณได้ หากคุณยังคงพบปัญหาในการแก้ไขไซต์
เครื่องมือเหล่านี้จะสแกนไซต์และอาจพบเนื้อหาที่มีปัญหา แต่นอกเหนือจาก VirusTotal แล้ว Google ไม่ใช้หรือรองรับเครื่องมืออื่นใดอีก
Virus Total, Aw-snap.info, Sucuri Site Check, Quttera: นี่เป็นเครื่องมือเพียงบางส่วนที่อาจสแกนพบเนื้อหาที่มีปัญหาในเว็บไซต์ โปรดทราบว่าเครื่องมือสแกนเหล่านี้ไม่สามารถรับประกันได้ว่าจะพบเนื้อหาที่เป็นปัญหาได้ทุกประเภท
ทรัพยากรเพิ่มเติมจาก Google ที่ช่วยคุณได้มีดังนี้