Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

PHP Backdoors: เข้าใจวิธีแฮกเกอร์คงการเข้าถึงเว็บไซต์อย่างต่อเนื่อง

ทุกวันมีเว็บไซต์ถูกแฮกมากกว่า 1 ล้านไซต์ และเมื่อเว็บไซต์ถูกแฮกครั้งหนึ่ง โอกาสที่จะถูกแฮกซ้ำสูงถึง 40% แฮกเกอร์มักฝัง PHP Backdoors (ประตูหลัง) เพื่อให้สามารถเข้าถึงเว็บไซต์ได้อีกครั้งแม้จะรีเซ็ตแอดมินพาเนลแล้ว โค้ดเหล่านี้ซ่อนอยู่ลึกในระบบ ทำให้ลบยากมาก

PHP Backdoors คืออะไร?

PHP Backdoors เป็นสคริปต์มัลแวร์ที่ออกแบบมาเพื่อติดตั้งบนเว็บไซต์อย่างลับๆ และให้สิทธิ์การเข้าถึงโดยไม่ต้องยืนยันตัวตน (Authentication Bypass) แฮกเกอร์ใช้ Backdoor เพื่อ:

  • รักษาการเข้าถึงเว็บไซต์ (Persistence)
  • ฉีดมัลแวร์เพิ่มเติม
  • ขโมยข้อมูล (Data Scraping)
  • ติดตั้ง Credit Card Skimmer
  • ขโมยข้อมูลทางการเงิน
  • ควบคุมเซิร์ฟเวอร์ PHP แบบ Remote (PHP Web Shell)

อันตรายจาก PHP Backdoors

Backdoor อนุญาตให้แฮกเกอร์:

  • เข้าถึงข้อมูลทุกประเภทบนเซิร์ฟเวอร์
  • ใช้เซิร์ฟเวอร์ขุดคริปโตเคอเรนซี (Cryptojacking)
  • ทำให้เซิร์ฟเวอร์กลายเป็น Botnet ส่งสแปมจำนวนมาก

สาเหตุทั่วไปที่ทำให้เกิด Backdoor

  • รหัสผ่านอ่อนแหรือค่าเริ่มต้น (Default Passwords)
  • อนุญาตอัปโหลดไฟล์ PHP โดยไม่มีการจำกัด
  • โค้ด PHP เขียนไม่ดี ไม่ตรวจสอบ Input (Invalidated Input)
  • ใช้ PHP เวอร์ชันเก่า
  • การตั้งค่า PHP ไม่เหมาะสม
  • สิทธิ์ไฟล์ (File Permissions) ของไฟล์สำคัญอ่อนแอ
  • รายงานข้อผิดพลาด (Error Reporting) ที่เปิดเผยโค้ด

รูปแบบ Backdoor ที่พบบ่อย

1. Rogue File Backdoors (ไฟล์ปลอม)

ไฟล์ที่ไม่ใช่ส่วนหนึ่งของ Core, Plugin หรือ Theme แต่ตั้งชื่อคล้ายไฟล์จริง เช่น xml.php, media.php โค้ดมักเริ่มต้นด้วยสตริง obfuscate ยาวๆ เช่น:

$t43="l/T6\\:aAcNLn#?rP}1\rG_ -s`SZ\$58t\n7E{.*]ixy3h,COKR2dW[0!U\tuQIHf4bYm>wFz<admin@wsxdn.com&(BjX'~|ge%p+oMJv^);\"k9";$GLOBALS['ofmhl60'] = ${$t43[20].$t43

2. Backdoor ใน Plugin และ Theme

แฮกเกอร์ฝัง Backdoor ในปลั๊กอิน/ธีมที่ดูเหมือนปกติ ชื่อที่พบบ่อย:

  • WordPress Support
  • Login Wall
  • WP Zipp
  • WP-Base-SEO

ควรลบปลั๊กอิน/ธีมที่ไม่รู้จักทุกตัว

3. Core File Backdoor Insertion

โค้ดอาจอยู่ต้นไฟล์ ท้ายไฟล์ หรือกลางโค้ด ตัวอย่างโค้ดน่าสงสัย:

@ini_set('display_errors','off');@ini_set('log_errors',0);@ini_set('error_log',NULL); error_reporting(0); @ini_set('set_time_limit',0);ignore_user_abort(true);...

หรือโค้ด obfuscate แบบซับซ้อน:

preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\

มักพบคำว่า FilesMan ในไฟล์ Backdoor

การกำจัดและป้องกัน

  1. ใช้ Astra Malware Scanner ที่ตรวจจับ Backdoor ได้แม้จะ obfuscate
  2. ติดตั้ง Web Application Firewall (WAF) บล็อกการโจมตีแบบ Real-time
  3. อัปเดต CMS, Plugin, Theme เป็นประจำ
  4. ใช้รหัสผ่านแข็งแกรงและเปลี่ยนเป็นระยะ
  5. ตั้งค่า File Permissions ให้ถูกต้อง (ไฟล์ 644, โฟลเดอร์ 755)