WordPress Malware & Virus

Web Shell คืออะไร และอันตรายกับเว็บไซต์ WordPress อย่างไร

Web Shell คืออะไร และอันตรายกับเว็บไซต์ WordPress อย่างไร

สรุปคำตอบ

Web Shell คือไฟล์โค้ดอันตราย ส่วนใหญ่เป็นไฟล์ PHP ที่แฮกเกอร์อัปโหลดไว้บนเซิร์ฟเวอร์ เมื่อเรียกผ่านเบราว์เซอร์จะทำงานเหมือน Terminal ให้แฮกเกอร์จัดการไฟล์ รันคำสั่ง ดูฐานข้อมูล และฝังมัลแวร์เพิ่มได้จากระยะไกล โดยมักเข้ามาทางช่องโหว่ของ Plugin หรือ Theme ฟอร์มอัปโหลดที่ไม่ตรวจนามสกุลไฟล์ หรือรหัสผ่าน FTP และ wp-admin ที่รั่ว จุดที่พบบ่อยคือไฟล์ .php ใน wp-content/uploads/ การกำจัดต้องสแกนทุกไฟล์ แทนที่ไฟล์ Core ที่ถูกแก้ เปลี่ยนรหัสผ่านทุกจุด และตามหา Backdoor ให้ครบ

หากเว็บไซต์ WordPress ของคุณถูกแฮก หนึ่งในเครื่องมือที่แฮกเกอร์นิยมฝังไว้มากที่สุดคือ Web Shell ซึ่งแตกต่างจากมัลแวร์ทั่วไปตรงที่มันไม่ได้แค่ทำลายข้อมูล แต่เปิดช่องให้แฮกเกอร์ ควบคุมเซิร์ฟเวอร์ของคุณจากระยะไกลได้อย่างสมบูรณ์ เข้าใจว่า Web Shell คืออะไร ทำงานอย่างไร และวิธีกำจัดออกจากเว็บ WordPress คือก้าวแรกที่จะช่วยปกป้องเว็บและลูกค้าของคุณได้จริง

ในเคสจริงเคสหนึ่งเราพบ Web Shell 15 ไฟล์ที่ตั้งชื่อเลียนไฟล์ระบบ อ่านได้ใน เคสร้าน WooCommerce โดนขโมยบัตรเครดิต

Web Shell เป็นมัลแวร์บนเว็บไซต์เพียงประเภทหนึ่ง ภาพรวมของมัลแวร์ทั้ง 7 ประเภทและความต่างจากมัลแวร์บนคอมพิวเตอร์อยู่ใน Malware คืออะไร มีกี่ประเภท

Web Shell คืออะไร

Web Shell คือไฟล์โค้ดอันตราย (มักเป็น PHP) ที่แฮกเกอร์อัปโหลดไว้บนเซิร์ฟเวอร์ของคุณ (MITRE ATT&CK นิยามว่าเป็นสคริปต์บนเว็บเซิร์ฟเวอร์ที่ผู้โจมตีใช้เป็นช่องทางเข้าถึงต่อเนื่อง) เมื่อเรียกผ่านเบราว์เซอร์ มันจะทำงานเหมือน Terminal หรือ Command Prompt บนเว็บ ทำให้แฮกเกอร์สามารถ:

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

ชื่อที่พบบ่อย ได้แก่ c99.php, r57.php, wso.php, shell.php หรือไฟล์ที่ตั้งชื่อแฝงดูปกติ เช่น wp-config-backup.php หรือ image.php

เว็บ WordPress โดนแฮกเด้งเว็บพนัน — WP Doctor Thailand
เว็บ WordPress ที่ถูกฝังโค้ดให้เด้งไปยังเว็บพนันหรือเว็บปลอม

แฮกเกอร์อัปโหลด Web Shell ได้อย่างไร

Web Shell ไม่ได้ปรากฏขึ้นมาเอง แฮกเกอร์จะเข้าถึงเซิร์ฟเวอร์ก่อนผ่านช่องโหว่ต่าง ๆ ได้แก่:

  • Plugin หรือ Theme ที่มีช่องโหว่ — โดยเฉพาะที่ไม่ได้อัปเดต หรือดาวน์โหลดจากแหล่งไม่น่าเชื่อถือ รายงาน State of WordPress Security in 2026 ของ Patchstack พบว่าช่องโหว่ใหม่ในปี 2025 อยู่ใน Plugin 91% และ Theme 9%
  • ฟอร์มอัปโหลดไฟล์ที่ไม่ได้ตรวจสอบนามสกุล — เช่น ช่องอัปโหลดรูป ที่ยอมรับไฟล์ .php
  • รหัสผ่าน FTP/cPanel ที่รั่ว — แฮกเกอร์วาง shell ตรง ๆ ผ่าน FTP
  • การ Brute Force WP Admin — เมื่อเข้าได้แล้วก็อัปโหลดผ่านธีม Editor หรือ Plugin

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

Web Shell หน้าตาเป็นอย่างไร

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

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

ส่วนหัวของไฟล์ Web Shell ที่พบบ่อย

<?php
error_reporting(0); @set_time_limit(0); @ini_set('display_errors', 0);
$auth_pass = 'e10adc3949ba59abbe56e057f20f883e';   // รหัสผ่านแบบ MD5 สำหรับแฮกเกอร์
// … โค้ดที่เข้ารหัสไว้อีกหลายพันบรรทัด — ตัดออก

จุดสังเกต: ปิดการแสดง Error ทั้งหมด ยกเลิกเวลาจำกัดการทำงาน และมีตัวแปรรหัสผ่านแบบ MD5 อยู่ด้านบน ตามด้วยข้อความยาวที่อ่านไม่ออก ไฟล์มักใหญ่ผิดปกติเมื่อเทียบกับไฟล์ PHP ทั่วไป

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

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

ชื่อไฟล์และตำแหน่งที่ Web Shell ชอบใช้

wp-content/uploads/2026/05/thumb-cache.php      ← ไม่ควรมีไฟล์ PHP ใน uploads
wp-content/uploads/.tmp/index.php
wp-includes/wp-system-cache.php                ← ชื่อคล้ายไฟล์ระบบ แต่ไม่มีใน WordPress จริง
wp-content/mu-plugins/wp-security-helper.php   ← โหลดทุกหน้าโดยไม่ขึ้นในรายการ Plugin
wp-content/plugins/akismet/.cache.php          ← ซ่อนใน Plugin ที่ทุกเว็บมี
.well-known/pki-validation/about.php

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

วิธีตรวจหา Web Shell ใน WordPress

การหา Web Shell ต้องตรวจที่ระดับไฟล์เซิร์ฟเวอร์ ไม่ใช่แค่ใน WP Admin ขั้นตอนเบื้องต้นที่ทำได้:

  • ตรวจไฟล์ PHP ในโฟลเดอร์ที่ไม่ควรมี — เช่น /wp-content/uploads/ ปกติจะมีแต่รูปและมีเดีย ถ้าพบ .php ให้ถือว่าผิดปกติจนกว่าจะพิสูจน์ได้ว่าไม่ใช่ ซึ่งMITRE แนะนำให้เฝ้าดูการสร้างไฟล์สคริปต์ใหม่ในโฟลเดอร์ของเว็บเช่นกัน
  • ค้นหา Pattern อันตรายในโค้ด — ฟังก์ชันที่ Shell มักใช้ เช่น eval(, base64_decode(, system(, passthru(, shell_exec(
  • ใช้ Plugin Wordfence หรือ Sucuri Scanner — สแกนเพื่อหาไฟล์ที่ไม่ตรงกับ WordPress core
  • ตรวจ Access Log ของ Hosting — หา Request ที่เรียกไฟล์ .php แปลก ๆ ซ้ำ ๆ โดยเฉพาะ POST request ที่ส่ง parameter มาด้วย

สำหรับวิธีตรวจสอบไฟล์ในเชิงลึก สามารถดูเพิ่มเติมได้ที่ วิธีเช็กไฟล์แปลกปลอมใน WordPress เบื้องต้น และ อาการ WordPress ติดมัลแวร์ และวิธีตรวจสอบด้วยตัวเอง

สัญญาณเตือนที่พบบ่อย: Hosting แจ้งพบไฟล์อันตราย, เว็บโหลดช้าผิดปกติ, พบไฟล์ .php ในโฟลเดอร์ uploads, หรือ Google แสดงคำเตือน “This site may be hacked” ล้วนเป็นสัญญาณที่ต้องตรวจหา Web Shell ทันที
บริการล้างไวรัส WordPress — WP Doctor Thailand
บริการตรวจสอบและกำจัดมัลแวร์บนเว็บ WordPress แบบมืออาชีพ

วิธีกำจัด Web Shell ออกจาก WordPress

เมื่อพบแล้ว ต้องจัดการอย่างเป็นระบบ ไม่ใช่แค่ลบไฟล์ที่พบเท่านั้น:

  • ขั้นที่ 1 — Backup ก่อนเสมอ แม้จะติดมัลแวร์ ก็ต้อง Backup ไว้เป็น evidence และป้องกันการสูญหายของข้อมูลที่ยังดีอยู่
  • ขั้นที่ 2 — ระงับการเข้าถึง Shell ชั่วคราว หากทราบ URL ของ Shell ให้ Block ผ่าน .htaccess หรือ Firewall ก่อน
  • ขั้นที่ 3 — สแกนทุกไฟล์บนเซิร์ฟเวอร์ ใช้ Malware Scanner ระดับ Server-side เช่น Imunify360 (ถ้า Hosting รองรับ) หรือ Wordfence CLI
  • ขั้นที่ 4 — ลบหรือแทนที่ไฟล์ที่ติด ไฟล์ Core WordPress ที่ถูกแก้ไข ให้ดาวน์โหลดเวอร์ชันเดียวกับที่ใช้อยู่มาแทนที่ โดยWordPress.org ระบุว่าโฟลเดอร์ wp-admin และ wp-includes แทนที่ได้อย่างปลอดภัย ส่วน wp-content ต้องไล่ตรวจทีละไฟล์
  • ขั้นที่ 5 — เปลี่ยน Credential ทุกอย่าง รหัสผ่าน WordPress admin, FTP, cPanel, Database และ Secret Keys ใน wp-config.php ตามที่WordPress.org แนะนำ
  • ขั้นที่ 6 — ตรวจหา Backdoor ที่อาจซ่อนอยู่ Shell มักมาพร้อม Backdoor สำรอง ต้องค้นหาให้ครบ ไม่เช่นนั้น Shell ใหม่จะถูกสร้างขึ้นมาใหม่

วิธีป้องกัน Web Shell ในอนาคต

  • อัปเดต WordPress Core, Plugin และ Theme ให้เป็นเวอร์ชันล่าสุดอยู่เสมอ เพราะช่องโหว่ส่วนใหญ่มีการ Patch แล้ว
  • ติดตั้ง WAF (Web Application Firewall) เช่น Cloudflare หรือ Wordfence เพื่อบล็อก Request อันตรายก่อนถึงเซิร์ฟเวอร์
  • ปิดการแก้ไขไฟล์ใน WP Admin ตามคู่มือ Hardening ของ WordPress.org โดยเพิ่ม define('DISALLOW_FILE_EDIT', true); ใน wp-config.php
  • จำกัดสิทธิ์ไฟล์บนเซิร์ฟเวอร์ โฟลเดอร์ uploads ไม่ควรรัน PHP ได้ ทำได้โดยสร้าง .htaccess ในนั้นที่ Deny การ Execute .php
  • ใช้ Plugin ที่มาจากแหล่งที่เชื่อถือได้เท่านั้น ไม่ดาวน์โหลด Nulled Plugin/Theme เด็ดขาด เพราะมักมีมัลแวร์หรือ Backdoor ฝังมาด้วย
  • ตั้ง Two-Factor Authentication (2FA) สำหรับ WP Admin และ cPanel

เมื่อไหร่ควรเรียกผู้เชี่ยวชาญ

หากคุณพบว่าเว็บมี Web Shell แล้ว แนะนำให้ขอความช่วยเหลือจากผู้เชี่ยวชาญในกรณีต่อไปนี้:

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

ทีม WP Doctor Thailand มีบริการ ล้างไวรัส WordPress แบบครบวงจร ตรวจหาและกำจัด Web Shell, Backdoor และมัลแวร์ทุกประเภท พร้อมรายงานผลและคำแนะนำป้องกันหลังการล้าง

อ่านต่อในหัวข้อที่เกี่ยวข้อง

  • Web Shell มักถูกใช้อัปโหลด Phishing Kit ลงเว็บ ดูวิธีหาและลบได้ที่ เว็บโดนฝังหน้า Phishing
  • Web Shell เป็นช่องทางที่ผู้โจมตีมักใช้แก้ไฟล์หน้าแรกของเว็บ อ่านวิธีรับมือเมื่อหน้าเว็บถูกเปลี่ยนได้ที่ Website Defacement คืออะไร

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

Web Shell ต่างจาก Backdoor อย่างไร

Web Shell คืออินเทอร์เฟซที่ให้แฮกเกอร์รันคำสั่งบนเซิร์ฟเวอร์ได้โดยตรงผ่านเบราว์เซอร์ ส่วน Backdoor คือช่องทางลับที่ใช้เข้าถึงเว็บโดยไม่ต้องล็อกอิน ซึ่งบางครั้ง Web Shell ก็ทำหน้าที่เป็น Backdoor ไปพร้อมกัน

Web Shell มักซ่อนอยู่ที่ไหนใน WordPress

ที่พบบ่อยที่สุดคือโฟลเดอร์ wp-content/uploads/ เพราะเป็นที่เดียวที่มักเปิดสิทธิ์เขียนไว้ นอกจากนี้ยังพบในโฟลเดอร์ธีม โฟลเดอร์ Plugin หรือบางครั้งถูกฝังซ่อนในไฟล์ PHP ที่มีอยู่เดิม

ลบ Web Shell ออกแล้ว เว็บยังโดนแฮกอีกได้ไหม

ได้ ถ้ายังมี Shell หรือ Backdoor อื่นหลงเหลืออยู่ และยังไม่ได้อุดช่องโหว่ที่แฮกเกอร์ใช้เข้ามาครั้งแรก การล้างให้สำเร็จต้องค้นหาให้ครบและเปลี่ยน Credential ทุกอย่าง

ตรวจสอบเองได้ไหมว่าเว็บมี Web Shell

ได้ในระดับเบื้องต้น โดยตรวจหาไฟล์ .php ในโฟลเดอร์ uploads และค้นหาฟังก์ชันอันตรายเช่น eval() หรือ base64_decode() ในไฟล์ PHP แต่การค้นหาอย่างละเอียดและแน่ใจ 100% ควรใช้เครื่องมือสแกนระดับ Server-side หรือให้ผู้เชี่ยวชาญตรวจ

Web Shell อันตรายแค่ไหน ถ้ายังไม่รีบลบ?

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

ป้องกันไม่ให้รันไฟล์ PHP ในโฟลเดอร์ uploads ทำยังไง?

บนเซิร์ฟเวอร์ Apache ให้สร้างไฟล์ .htaccess ในโฟลเดอร์ wp-content/uploads/ ที่ปฏิเสธการเรียกไฟล์ .php ส่วนเซิร์ฟเวอร์ Nginx ต้องตั้งกฎใน config ของเซิร์ฟเวอร์ และควรเพิ่ม define('DISALLOW_FILE_EDIT', true); ใน wp-config.php เพื่อปิดการแก้ไฟล์ผ่าน WP Admin ด้วย

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

  1. MITRE. (ม.ป.ป.). Server Software Component: Web Shell (T1505.003). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://attack.mitre.org/techniques/T1505/003/
  2. MITRE. (ม.ป.ป.). CWE-434: Unrestricted Upload of File with Dangerous Type. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://cwe.mitre.org/data/definitions/434.html
  3. Patchstack. (2026). State of WordPress Security in 2026. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://patchstack.com/whitepaper/state-of-wordpress-security-in-2026/
  4. WordPress.org. (2026). FAQ: My site was hacked. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/documentation/article/faq-my-site-was-hacked/
  5. WordPress.org. (ม.ป.ป.). Hardening WordPress. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.wordpress.org/advanced-administration/security/hardening/
  6. Sucuri. (2026). The Security Risks of Using Nulled WordPress Plugins. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://blog.sucuri.net/2026/03/the-security-risks-of-using-nulled-wordpress-plugins.html
  7. WordPress.org. (ม.ป.ป.). Wordfence Security (WordPress.org plugin directory). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/plugins/wordfence/
  8. 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 ส่งปัญหา