WORDPRESS SECURITY

WordPress ติดมัลแวร์: วิธีตรวจหา ลบออก และป้องกันไม่ให้โดนซ้ำ

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

สัญญาณว่าเว็บคุณติดมัลแวร์

มัลแวร์ 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) ว่ามีคำสั่งแปลกปลอมหรือไม่

ขั้นตอนลบมัลแวร์ด้วยตัวเอง

  1. Backup ก่อนเสมอ — ทั้งไฟล์และฐานข้อมูล ต่อให้ติดมัลแวร์ก็ต้องเก็บไว้กันเหตุการณ์แก้แล้วพัง
  2. สแกนอัตโนมัติรอบแรก — ใช้ Wordfence (สแกนจากใน WordPress) ร่วมกับ Sucuri SiteCheck (สแกนจากภายนอก) เพื่อระบุไฟล์ต้องสงสัย
  3. เทียบไฟล์ Core กับต้นฉบับ — ถ้าใช้ WP-CLI ได้ รัน wp core verify-checksums ไฟล์ไหนถูกแก้จะโชว์ทันที วิธีที่ชัวร์กว่าคือลบโฟลเดอร์ wp-admin และ wp-includes แล้วแทนที่ด้วยไฟล์จาก WordPress เวอร์ชันเดียวกันที่ดาวน์โหลดใหม่
  4. ลงชุดไฟล์สะอาด — ติดตั้ง Theme และ Plugin ใหม่จากแหล่งทางการทั้งหมด (อย่าใช้ Theme/Plugin เถื่อน หรือ "Nulled" เด็ดขาด — เคสจำนวนมากที่เราซ่อม ต้นตอคือของเถื่อนพวกนี้เอง)
  5. ล้างฐานข้อมูล — ลบ Admin แปลกปลอม แก้ค่า siteurl/home ลบโค้ดฝังในบทความ
  6. เปลี่ยนรหัสผ่านทุกชุด + Salt Keys — สร้าง Security Keys ชุดใหม่ใน wp-config.php เพื่อบังคับ Logout ทุก Session ที่แฮกเกอร์อาจถืออยู่
  7. สแกนซ้ำ — รันสแกนอีกรอบจนสะอาด แล้วเฝ้าดูอาการต่ออีกอย่างน้อย 1-2 สัปดาห์
จุดที่คนพลาดบ่อยที่สุด: ลบเฉพาะไฟล์ที่เครื่องมือสแกนเจอ แต่ไม่ได้หา "ต้นตอ" ว่าแฮกเกอร์เข้ามาทางไหน — ถ้าช่องโหว่เดิมยังอยู่ (Plugin เก่า, รหัสผ่านหลุด, Backdoor ที่สแกนไม่เจอ) เว็บจะกลับมาติดซ้ำภายในไม่กี่วัน

Checklist ป้องกันระยะยาว

ไม่อยากเสี่ยงทำเอง? ให้มืออาชีพจัดการ

เราซ่อมเว็บ WordPress มาแล้ว 101 ออเดอร์จริง รีวิว 4.9 ★ บน Fastwork — สแกน แก้ไข ปิดช่องโหว่ พร้อมรับประกันหลังส่งมอบ ประเมินฟรี ไม่มีค่าใช้จ่าย

ดูบริการซ่อมเว็บ → ส่งเว็บให้ประเมินฟรี →