WordPress ติดมัลแวร์: วิธีตรวจหา ลบออก และป้องกันไม่ให้โดนซ้ำ
WordPress ขับเคลื่อนเว็บไซต์มากกว่า 40% ของโลก จึงเป็นเป้าหมายอันดับหนึ่งของแฮกเกอร์ไปโดยปริยาย ข่าวดีคือมัลแวร์บน WordPress มีรูปแบบซ้ำๆ ที่คาดเดาได้ บทความนี้สรุปจากประสบการณ์ซ่อมเว็บจริงมากกว่า 100 เคสว่ามัลแวร์ชอบซ่อนตรงไหน ตรวจอย่างไร และลบอย่างไรให้หมดจริง
สัญญาณว่าเว็บคุณติดมัลแวร์
- เว็บช้าลงชัดเจน หรือ CPU/Memory บนโฮสติ้งพุ่งผิดปกติ
- มีไฟล์หรือโฟลเดอร์แปลกๆ ที่ไม่เคยเห็น โดยเฉพาะชื่อมั่วๆ อย่าง
x8k2.php - โฮสติ้งส่งเมลเตือนว่าตรวจพบไฟล์อันตราย หรือเว็บถูกใช้ส่งสแปม
- ยอดเข้าชมจาก Google ตกฮวบโดยไม่มีสาเหตุ
- ลูกค้าแจ้งว่าโดนเด้งไปเว็บอื่น หรือเบราว์เซอร์ขึ้นเตือนเว็บอันตราย
มัลแวร์ WordPress ชอบซ่อนที่ไหน (เช็กตามนี้)
1. โฟลเดอร์ uploads
wp-content/uploads มีไว้เก็บรูปและไฟล์สื่อเท่านั้น ไม่ควรมีไฟล์ .php แม้แต่ไฟล์เดียว ใช้คำสั่งค้นหาหรือ File Manager กรองหาไฟล์ .php ในโฟลเดอร์นี้ — เจอเมื่อไหร่ น่าสงสัยทันที
2. ไฟล์ธีมและไฟล์ตั้งค่า
จุดยอดนิยมคือ functions.php ของธีมที่ใช้งานอยู่, wp-config.php และ .htaccess มองหาโค้ดที่อ่านไม่รู้เรื่องอย่าง eval(base64_decode(...)) หรือ gzinflate(...) ซึ่งเป็นรูปแบบการซ่อนโค้ดอันตรายที่พบบ่อยที่สุด
3. Plugin และ Theme ปลอม
แฮกเกอร์ชอบสร้างโฟลเดอร์ Plugin ชื่อคล้ายของจริง เช่น wp-securlty (สะกดผิดหนึ่งตัว) ไล่เช็กรายชื่อ Plugin ทั้งหมดกับที่คุณติดตั้งจริง แล้วลบที่ไม่รู้จักออก
4. ฐานข้อมูล
เช็กตาราง wp_options ว่าค่า siteurl และ home ยังเป็นโดเมนของคุณ, มองหา JavaScript แปลกปลอมในเนื้อหาบทความ และเช็กตาราง wp_users ว่ามี Admin ที่ไม่รู้จักหรือไม่
5. Cron Job
มัลแวร์ยุคใหม่มักฝัง Cron ไว้โหลดตัวเองกลับมาหลังถูกลบ เช็กทั้ง WP-Cron (ผ่าน Plugin อย่าง WP Crontrol) และ Cron ของเซิร์ฟเวอร์ (crontab) ว่ามีคำสั่งแปลกปลอมหรือไม่
ขั้นตอนลบมัลแวร์ด้วยตัวเอง
- Backup ก่อนเสมอ — ทั้งไฟล์และฐานข้อมูล ต่อให้ติดมัลแวร์ก็ต้องเก็บไว้กันเหตุการณ์แก้แล้วพัง
- สแกนอัตโนมัติรอบแรก — ใช้ Wordfence (สแกนจากใน WordPress) ร่วมกับ Sucuri SiteCheck (สแกนจากภายนอก) เพื่อระบุไฟล์ต้องสงสัย
- เทียบไฟล์ Core กับต้นฉบับ — ถ้าใช้ WP-CLI ได้ รัน
wp core verify-checksumsไฟล์ไหนถูกแก้จะโชว์ทันที วิธีที่ชัวร์กว่าคือลบโฟลเดอร์wp-adminและwp-includesแล้วแทนที่ด้วยไฟล์จาก WordPress เวอร์ชันเดียวกันที่ดาวน์โหลดใหม่ - ลงชุดไฟล์สะอาด — ติดตั้ง Theme และ Plugin ใหม่จากแหล่งทางการทั้งหมด (อย่าใช้ Theme/Plugin เถื่อน หรือ "Nulled" เด็ดขาด — เคสจำนวนมากที่เราซ่อม ต้นตอคือของเถื่อนพวกนี้เอง)
- ล้างฐานข้อมูล — ลบ Admin แปลกปลอม แก้ค่า siteurl/home ลบโค้ดฝังในบทความ
- เปลี่ยนรหัสผ่านทุกชุด + Salt Keys — สร้าง Security Keys ชุดใหม่ใน wp-config.php เพื่อบังคับ Logout ทุก Session ที่แฮกเกอร์อาจถืออยู่
- สแกนซ้ำ — รันสแกนอีกรอบจนสะอาด แล้วเฝ้าดูอาการต่ออีกอย่างน้อย 1-2 สัปดาห์
Checklist ป้องกันระยะยาว
- อัปเดต Core / Plugin / Theme ทุกเดือนเป็นอย่างน้อย
- ลบ Plugin และ Theme ที่ไม่ใช้ออกให้หมด (ปิดการใช้งานอย่างเดียวไม่พอ)
- ใช้รหัสผ่านยาวและไม่ซ้ำ + เปิด 2FA ทุกบัญชี Admin
- Backup อัตโนมัติรายวัน เก็บนอกเซิร์ฟเวอร์
- ติด WAF (Cloudflare / Wordfence) และจำกัดจำนวนครั้ง Login ผิด
- เลือกโฮสติ้งที่แยก Account ชัดเจน — เว็บข้างบ้านโดนแฮกจะได้ไม่ลามมาหาเรา
- ตรวจสุขภาพเว็บสม่ำเสมอ หรือใช้แพ็กเกจดูแลรายเดือนที่สแกนมัลแวร์ให้ทุกวันอัตโนมัติ
ไม่อยากเสี่ยงทำเอง? ให้มืออาชีพจัดการ
เราซ่อมเว็บ WordPress มาแล้ว 101 ออเดอร์จริง รีวิว 4.9 ★ บน Fastwork — สแกน แก้ไข ปิดช่องโหว่ พร้อมรับประกันหลังส่งมอบ ประเมินฟรี ไม่มีค่าใช้จ่าย
ดูบริการซ่อมเว็บ → ส่งเว็บให้ประเมินฟรี →