WordPress Malware & Virus

วิธีเช็กไฟล์แปลกปลอมใน WordPress เบื้องต้น

วิธีเช็กไฟล์แปลกปลอมใน WordPress เบื้องต้น

สรุปคำตอบ

ไฟล์แปลกปลอมใน WordPress คือไฟล์ที่ไม่ได้มาจาก WordPress Core, Theme หรือ Plugin ที่คุณติดตั้งเอง มักเป็น Backdoor, Web Shell หรือโค้ดส่ง Spam และ Redirect ที่แฮกเกอร์ฝากไว้ วิธีเช็กเบื้องต้นคือเรียงไฟล์ตาม Last Modified ใน File Manager หาไฟล์ .php ในโฟลเดอร์ wp-content/uploads/ ซึ่งไม่ควรมีเลย และเปิดดูไฟล์ที่ใช้ eval() หรือ base64_decode() ถ้าเข้า SSH ได้ คำสั่ง wp core verify-checksums จะบอกได้แม่นที่สุดว่าไฟล์ไหนถูกแก้หรือเพิ่มเข้ามา

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

ไฟล์แปลกปลอมคืออะไร และทำไมถึงอันตราย

ไฟล์แปลกปลอม (Suspicious Files) หมายถึงไฟล์ที่ไม่ได้มาจาก WordPress core, ธีม, หรือปลั๊กอินที่คุณติดตั้งเอง แต่ปรากฏอยู่ในโฟลเดอร์ของเว็บโดยไม่ทราบที่มา ไฟล์เหล่านี้มักถูกแฮกเกอร์ฝากไว้เพื่อใช้เป็น backdoor (ประตูลับ), web shell (สคริปต์ควบคุมเซิร์ฟเวอร์จากระยะไกล) หรือโค้ดส่ง spam/redirect ผู้เยี่ยมชมไปเว็บไม่พึงประสงค์

ไฟล์อันตรายเหล่านี้มักซ่อนตัวในรูปแบบต่าง ๆ เช่น

  • ชื่อไฟล์ที่ดูเหมือนไฟล์ระบบ เช่น wp-loginn.php, wp-config.bak, index2.php
  • ไฟล์ .php ที่แทรกอยู่ในโฟลเดอร์รูปภาพ /wp-content/uploads/
  • ไฟล์ที่มีนามสกุลซ้อน เช่น image.jpg.php
  • ไฟล์ชื่อสุ่ม เช่น a3f9k2.php หรือสตริงยาว ๆ ที่ไม่มีความหมาย
WordPress ติด Backdoor และ Malware — WP Doctor Thailand
Backdoor คือประตูลับที่แฮกเกอร์ฝังไว้ เพื่อกลับเข้ามาควบคุมเว็บได้แม้ถูกลบมัลแวร์ไปแล้ว

วิธีเช็กไฟล์แปลกปลอมผ่าน File Manager (cPanel)

วิธีที่เข้าถึงได้ง่ายที่สุดสำหรับคนที่ไม่คุ้นเคยกับ SSH คือใช้ File Manager ใน cPanel

  • เข้า cPanel → File Manager → นำทางไปยัง public_html (หรือโฟลเดอร์ที่ติดตั้ง WordPress)
  • คลิกที่หัวคอลัมน์ Last Modified เพื่อเรียงไฟล์จากใหม่ไปเก่า ไฟล์ที่ถูกแก้ไขหรือสร้างขึ้นในช่วงเวลาที่คุณไม่ได้แตะเว็บคือไฟล์ที่น่าสงสัย
  • เข้าไปตรวจโฟลเดอร์ /wp-content/uploads/ แล้วค้นหาไฟล์ .php หรือ .js ที่ไม่ควรอยู่ในโฟลเดอร์รูปภาพ
  • ใช้ฟีเจอร์ Search ของ File Manager ค้นหาไฟล์ *.php ทั้งหมดในโฟลเดอร์ uploads — ถ้าพบ ให้ถือว่าน่าสงสัยทันที

เมื่อพบไฟล์ที่ต้องการตรวจ ให้คลิก View หรือ Edit เพื่อดูเนื้อหา ถ้าเห็นโค้ดที่ถูก encode ด้วย base64_decode(), eval(), gzinflate(), หรือ str_rot13() ให้สันนิษฐานว่าเป็นโค้ดอันตราย

ใช้ Plugin ตรวจสอบไฟล์เบื้องต้น

หากไม่สะดวกใช้ File Manager โดยตรง ปลั๊กอินต่อไปนี้ช่วยได้

  • Wordfence Security — มีฟีเจอร์ File Change Detection เปรียบเทียบไฟล์ core WordPress กับไฟล์บน repository อย่างเป็นทางการ ถ้าไฟล์ใดถูกแก้ไขหรือเป็นไฟล์แปลกปลอมจะแจ้งเตือนทันที
  • Sucuri Security — สแกนไฟล์และแจ้ง integrity check พร้อมระบุไฟล์ที่ผิดปกติในรายงาน
  • WP Cerber Security — มี file monitoring และ quarantine ไฟล์น่าสงสัยได้

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

บริการล้างไวรัส WordPress — WP Doctor Thailand
บริการตรวจสอบและกำจัดมัลแวร์บนเว็บ WordPress แบบมืออาชีพ

ตรวจสอบไฟล์ Core WordPress ว่าถูกแก้ไขหรือไม่

WordPress core มีโครงสร้างไฟล์ที่แน่นอน ไฟล์ใดก็ตามในโฟลเดอร์ /wp-admin/ หรือ /wp-includes/ ที่ไม่ได้มาจาก WordPress จริง ๆ คือสัญญาณอันตราย

จุดสำคัญ: ไฟล์ .php ที่อยู่ใน /wp-content/uploads/ ทุกไฟล์ถือว่าผิดปกติ เพราะโฟลเดอร์นี้ไม่ควรมีโค้ด PHP อยู่เลย การวางสคริปต์ในโฟลเดอร์ของเว็บแล้วเรียกผ่านเบราว์เซอร์คือวิธีวาง Web Shell ที่ MITRE จัดเป็นเทคนิค T1505.003 และเป็นจุดอ่อนประเภท CWE-434 การอัปโหลดไฟล์อันตราย หากพบให้ลบทันทีและตรวจสอบว่าโฮสต์บล็อก PHP execution ใน uploads แล้วหรือยัง

ฟังก์ชันที่มัลแวร์ใช้บ่อย และคำสั่งค้นหา

ถ้าเข้า SSH ได้ คำสั่งชุดนี้ช่วยหาไฟล์น่าสงสัยได้เร็วกว่าเปิดดูทีละไฟล์มาก ผลลัพธ์อาจมีไฟล์ปกติปนอยู่ เพราะ Plugin ดีๆ บางตัวก็ใช้ฟังก์ชันเหล่านี้ ต้องเปิดดูก่อนลบทุกครั้ง

ฟังก์ชันหรือรูปแบบ มัลแวร์ใช้ทำอะไร
eval(, assert( รันข้อความให้กลายเป็นคำสั่ง PHP
base64_decode(, gzinflate(, str_rot13( ถอดรหัสโค้ดที่ซ่อนไว้
$_POST[, $_REQUEST[, $_COOKIE[ ใกล้กับ eval รับคำสั่งจากแฮกเกอร์ผ่านเว็บ
shell_exec(, system(, passthru( รันคำสั่งบนเซิร์ฟเวอร์
\x ต่อกันยาวๆ, ตัวแปรชื่อ $O0O0 ทำให้อ่านโค้ดไม่ออก
@include ไฟล์ .ico, .png, .txt โหลดโค้ดที่ซ่อนในไฟล์ที่ดูเหมือนรูปภาพ
คำสั่งตรวจสอบ · ใช้ได้จริง

คำสั่งค้นหาไฟล์น่าสงสัยผ่าน SSH

# 1. ไฟล์ PHP ในโฟลเดอร์ uploads (ปกติไม่ควรมีเลย)
find wp-content/uploads -name "*.php"

# 2. ไฟล์ PHP ที่ถูกแก้ภายใน 7 วันล่าสุด
find . -name "*.php" -mtime -7

# 3. ไฟล์ที่ใช้ฟังก์ชันที่มัลแวร์ชอบใช้
grep -rlE "eval\(|base64_decode\(|gzinflate\(|str_rot13\(" wp-content/

# 4. เทียบไฟล์ WordPress Core และ Plugin กับต้นฉบับ (ต้องมี WP-CLI)
wp core verify-checksums
wp plugin verify-checksums --all

ข้อ 4 แม่นที่สุด เพราะบอกได้ว่าไฟล์ไหนถูกแก้หรือเพิ่มเข้ามาจากต้นฉบับ ใช้ได้กับ WordPress Core และ Plugin ที่มาจาก WordPress.org ส่วน Plugin แบบเสียเงินต้องเทียบกับไฟล์ที่ดาวน์โหลดใหม่จากผู้พัฒนา

ตัวอย่างโค้ดอันตราย · ตัดให้ใช้งานไม่ได้

ตัวอย่างไฟล์ที่คำสั่งด้านบนจะเจอ

<?php $O0O0='\x62\x61\x73\x65\x36\x34…';$O00O=$O0O0('aWYoaXNzZXQo…ตัดออก…');@eval($O00O);?>

ไฟล์แบบนี้ยาวบรรทัดเดียว ไม่มีช่องว่าง ไม่มีคำอธิบาย และใช้ตัวแปรที่อ่านแทบไม่ออก โค้ดของ Plugin จริงไม่เขียนแบบนี้

เมื่อพบไฟล์น่าสงสัย ควรทำอะไรต่อ

การพบไฟล์แปลกปลอมไม่ได้หมายความว่าต้องลบทันทีโดยไม่ดูอะไร ให้ทำตามขั้นตอนนี้

  • ทำ backup ก่อน — ก่อนแตะไฟล์ใด ๆ ให้สำรองข้อมูลทั้งหมดไว้ก่อน
  • ดูเนื้อหาไฟล์ — ถ้าพบ eval(base64_decode(...)) หรือโค้ด obfuscate ให้สันนิษฐานว่าอันตรายและลบทิ้ง
  • ตรวจว่าไฟล์เดิมถูกแก้ไขหรือเปล่า — ถ้าเป็นไฟล์ core เช่น wp-login.php ให้ overwrite ด้วยไฟล์ใหม่สะอาดจาก wordpress.org โดยใช้เวอร์ชันเดียวกับที่เว็บใช้อยู่ เพราะWordPress.org เตือนว่าถ้าใช้คนละเวอร์ชันเว็บมีโอกาสพัง
  • เปลี่ยนรหัสผ่านทันที — รหัส Admin, Database, FTP, Hosting ทั้งหมด
  • ตรวจ user accounts — ดูว่ามี admin account แปลก ๆ ถูกสร้างขึ้นหรือไม่

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

วิธีป้องกันไฟล์แปลกปลอมในระยะยาว

  • ตั้งค่าให้โฮสต์ บล็อก PHP execution ใน /uploads/ โดยสร้างไฟล์ .htaccess ในโฟลเดอร์ uploads ที่มี directive php_flag engine off (คำสั่ง php_flag ใน .htaccess ใช้ได้เมื่อ PHP รันเป็นโมดูลของ Apache ตามคู่มือ PHP ถ้าโฮสต์ใช้ PHP-FPM ให้ถามโฮสต์เรื่องตั้งค่าระดับเซิร์ฟเวอร์)
  • ใช้ปลั๊กอิน security ที่มี file integrity monitoring แจ้งเตือนทันทีเมื่อมีไฟล์ใหม่ถูกสร้าง
  • อัปเดต WordPress core, ธีม, และปลั๊กอินสม่ำเสมอ — ช่องโหว่ที่ไม่ได้ patch คือประตูเข้าหลักของแฮกเกอร์ เรียนรู้เพิ่มเติมว่าทำไม WordPress ถึงติดไวรัสบ่อย
  • จำกัด permission ของไฟล์ให้เหมาะสม: 755 สำหรับโฟลเดอร์ 644 สำหรับไฟล์ทั่วไป และ 400 หรือ 440 สำหรับ wp-config.php (ตามคู่มือ Hardening WordPress ของ WordPress.org)
  • ทำ backup อัตโนมัติทุกวัน เพื่อให้สามารถ restore กลับมาได้หากเกิดปัญหา
อ่านต่อในหัวข้อที่เกี่ยวข้อง

คำถามที่พบบ่อย

ไฟล์ .php ในโฟลเดอร์ uploads อันตรายเสมอไหม

ใช่ โฟลเดอร์ uploads ออกแบบมาสำหรับเก็บรูปภาพและมีเดียเท่านั้น ไม่มีเหตุผลที่จะมีไฟล์ .php อยู่ที่นั้น ถ้าพบให้ถือว่าเป็นมัลแวร์จนกว่าจะพิสูจน์ได้ว่าไม่ใช่

ใช้ปลั๊กอินสแกนแล้วไม่พบอะไร แปลว่าเว็บปลอดภัยแน่นอนไหม

ไม่แน่เสมอไป มัลแวร์บางประเภทสามารถหลบหลีกการสแกนอัตโนมัติได้ ควรตรวจสอบด้วยตาร่วมกับปลั๊กอิน โดยเฉพาะโฟลเดอร์ uploads และไฟล์ .htaccess

ถ้าไม่แน่ใจว่าไฟล์ไหนแปลกปลอม ควรลบเลยไหม

ไม่ควรลบโดยไม่ตรวจก่อน ให้ทำ backup ก่อนเสมอ แล้วเปิดดูเนื้อหาไฟล์ ถ้าพบโค้ด eval หรือ base64_decode ให้ลบได้เลย แต่ถ้าไม่แน่ใจควรปรึกษาผู้เชี่ยวชาญ

ตรวจพบไฟล์แปลกปลอมเองแต่ไม่รู้จะเริ่มล้างยังไง ควรทำอะไร

ขั้นแรกให้ทำ backup ทั้งหมดก่อน จากนั้นเปลี่ยนรหัสผ่าน Admin และ Database ทันที แล้วพิจารณาใช้บริการผู้เชี่ยวชาญด้านมัลแวร์ WordPress เพื่อให้แน่ใจว่าล้างหมดทุกจุดโดยไม่มีตกหล่น

wp core verify-checksums คืออะไร ใช้ตรวจอะไร?

เป็นคำสั่ง WP-CLI ที่เทียบไฟล์ WordPress Core บนเว็บกับต้นฉบับจาก wordpress.org เพื่อบอกว่าไฟล์ไหนถูกแก้หรือถูกเพิ่มเข้ามา ส่วน Plugin จาก WordPress.org ตรวจได้ด้วย wp plugin verify-checksums --all

ไฟล์ชื่อคล้ายไฟล์ระบบ เช่น wp-loginn.php อันตรายไหม?

ควรสงสัยไว้ก่อน เพราะแฮกเกอร์มักตั้งชื่อไฟล์ให้ดูเหมือนไฟล์ระบบ เช่น wp-loginn.php, index2.php หรือไฟล์นามสกุลซ้อนอย่าง image.jpg.php ให้ Backup แล้วเปิดดูเนื้อหาหรือเทียบกับ WordPress ต้นฉบับก่อนตัดสินใจลบ

แหล่งอ้างอิง

  1. WordPress.org. (ม.ป.ป.). Hardening WordPress. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.wordpress.org/advanced-administration/security/hardening/
  2. WordPress.org. (2026). FAQ: My site was hacked. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/documentation/article/faq-my-site-was-hacked/
  3. WP-CLI. (ม.ป.ป.). wp core verify-checksums. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.wordpress.org/cli/commands/core/verify-checksums/
  4. WP-CLI. (ม.ป.ป.). wp plugin verify-checksums. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.wordpress.org/cli/commands/plugin/verify-checksums/
  5. MITRE. (ม.ป.ป.). Server Software Component: Web Shell (T1505.003). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://attack.mitre.org/techniques/T1505/003/
  6. MITRE. (ม.ป.ป.). CWE-434: Unrestricted Upload of File with Dangerous Type. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://cwe.mitre.org/data/definitions/434.html
  7. PHP Group. (ม.ป.ป.). How to change configuration settings (PHP Manual). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://www.php.net/manual/en/configuration.changes.php
  8. WordPress.org. (ม.ป.ป.). Wordfence Security (WordPress.org plugin directory). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/plugins/wordfence/
  9. WordPress.org. (ม.ป.ป.). Sucuri Security: Auditing, Malware Scanner and Hardening (WordPress.org plugin directory). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/plugins/sucuri-scanner/
อ่านบทความหลักของหมวดนี้ Malware คืออะไร? มัลแวร์และไวรัสเว็บไซต์ 12 ประเภทที่เจ้าของเว็บต้องรู้

บทความอื่นในหมวดนี้

เว็บเด้งไปเว็บพนัน WordPress: วิธีตรวจและล้าง Redirect Malware ให้หายขาด

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

42 นาที 18 Jun 2026
อ่านต่อ

เว็บโดนแฮก ทำอย่างไรดี? ขั้นตอนกู้เว็บ WordPress ทีละขั้น

ขั้นตอนกู้เว็บ WordPress ที่โดนแฮกทีละขั้น เรียบเรียงจาก NIST SP 800-61 Rev. 3, เอกสาร FAQ My site was hacked ของ WordPress.org และคำแนะนำของ Google สำหรับเว็บที่ถูกแฮก

42 นาที 18 Jun 2026
อ่านต่อ
LINE ส่งปัญหา