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

เว็บไซต์ PHP ถูกแฮ็ก? ช่องโหว่ PHP เหล่านี้อาจเป็นสาเหตุได้

เว็บไซต์ที่ใช้ PHP ถูกแฮ็ก – ช่องโหว่และการแก้ไข PHP

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

ดังนั้น ถ้า PHP ไม่ถูกตำหนิ แล้วอะไรเป็นสาเหตุของการแฮ็คเว็บไซต์ PHP? บทความนี้จะอธิบายข้อบกพร่องด้านความปลอดภัยที่โจมตีเว็บไซต์ PHP และวิธีป้องกัน

เว็บไซต์ PHP ที่กำหนดเองถูกแฮ็ก:ตัวอย่าง

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

เว็บไซต์ PHP ถูกแฮ็ก? ช่องโหว่ PHP เหล่านี้อาจเป็นสาเหตุได้ เว็บไซต์ PHP ถูกแฮ็ก? ช่องโหว่ PHP เหล่านี้อาจเป็นสาเหตุได้ เว็บไซต์ PHP ถูกแฮ็ก? ช่องโหว่ PHP เหล่านี้อาจเป็นสาเหตุได้

เว็บไซต์ PHP ที่กำหนดเองถูกแฮ็ก:อาการ

  • หน้าฟิชชิ่งปรากฏบนไซต์ PHP ของคุณ ซึ่งพยายามหลอกให้ผู้ใช้ป้อนข้อมูลที่ละเอียดอ่อน
  • ผู้ใช้คลิกลิงก์บางลิงก์ในไซต์ของคุณและไปสิ้นสุดที่โดเมนอื่น ซึ่งน่าจะเกิดจากการกำหนดค่าผิดพลาดหรือการแฮ็คเว็บไซต์ PHP
  • ตัวบล็อกโฆษณาติดป้ายกำกับและบล็อกองค์ประกอบบางอย่างของไซต์ของคุณสำหรับการขุดสกุลเงินดิจิทัล
  • ตัวจัดการไฟล์ PHP ที่ไม่รู้จักปรากฏบนไซต์และไซต์ PHP แสดงโฆษณาที่เป็นอันตราย
  • ไฟล์ PHP ได้รับการแก้ไขด้วยโค้ดที่ไม่รู้จักทำให้เกิดการเปลี่ยนเส้นทางหรือสร้างลิงก์ย้อนกลับสำหรับไซต์ที่ไม่เหมาะสม
  • เนื้อหาที่ไม่มีความหมายปรากฏบนเว็บไซต์ PHP ที่กำหนดเอง ซึ่งน่าจะเกิดจากการแฮ็กคีย์เวิร์ดภาษาญี่ปุ่นหรือ Pharma Hack เป็นต้น
  • ข้อความเตือนการระงับบัญชีปรากฏขึ้นขณะใช้โฮสติ้งบุคคลที่สามสำหรับไซต์ PHP ที่กำหนดเอง
  • ไซต์ PHP ที่กำหนดเองจะแสดงข้อความเตือนว่าถูกขึ้นบัญชีดำโดย Google และเครื่องมือค้นหาอื่นๆ สำหรับสแปมมัลแวร์ ฯลฯ
  • phpMyAdmin แสดงผู้ดูแลระบบฐานข้อมูลใหม่และไม่รู้จัก
  • อีเมลที่ส่งจากโดเมนเว็บไซต์ PHP ของคุณถูกระบุว่าเป็นสแปม
  • ข้อความแสดงข้อผิดพลาดที่ไม่คาดคิดบนไซต์และไซต์ PHP ทำงานช้าและไม่ตอบสนอง

เว็บไซต์ PHP ที่กำหนดเองถูกแฮ็ก:13 เหตุผลทำไม

เว็บไซต์ PHP ถูกแฮ็ก? ช่องโหว่ PHP เหล่านี้อาจเป็นสาเหตุได้

เซิร์ฟเวอร์กำหนดค่าผิดพลาด

1. สิทธิ์ของไฟล์ที่อ่อนแอ

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

2. รหัสผ่านเริ่มต้น

การใช้รหัสผ่านที่ไม่รัดกุมหรือใช้บ่อยเป็นสาเหตุทั่วไปที่ทำให้เว็บไซต์ PHP แบบกำหนดเองถูกแฮ็ก พจนานุกรมที่กำหนดเองสามารถใช้เพื่อลองใช้รหัสผ่านที่เป็นไปได้ทั้งหมด เมื่อถูกบุกรุก ขึ้นอยู่กับเวกเตอร์การโจมตี เช่น FTP brute force หรือ cPanel brute force ผู้โจมตีสามารถเข้าถึงพื้นที่ผู้ดูแลระบบของไซต์ PHP ที่กำหนดเองได้ ผู้โจมตีสามารถอัปโหลดมัลแวร์ PHP หรือแบ็คดอร์ได้

บทความที่เกี่ยวข้อง – วิธีลบ WordPress Backdoor?

3. เปิดใช้งานการจัดทำดัชนีไดเรกทอรีแล้ว

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

4. เปิดพอร์ต

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

5. โฮสติ้งแย่

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

โค้ด PHP ที่มีช่องโหว่

6. การฉีด PHP SQL

การฉีด SQL ใน PHP มีสาเหตุหลักมาจากการขาดอินพุตของผู้ใช้ที่ไม่ถูกสุขอนามัย เนื่องจากมาตรฐานการเข้ารหัสไม่ดี อินพุตที่ไม่ถูกสุขอนามัยจึงเข้าถึงโดยตรงไปยังเซิร์ฟเวอร์ฐานข้อมูลและดำเนินการได้ สาเหตุหลักบางประการของ SQLi ในหน้า PHP ที่กำหนดเองคือ:

  • ขาดการกรองอักขระเว้นวรรค
  • การใช้เครื่องหมายคำพูดเพื่อคั่นสตริง
  • ส่งข้อมูลของผู้ใช้ที่ไม่ถูกสุขอนามัยไปยังฐานข้อมูล
  • การนำการเข้ารหัส Unicode ไปใช้อย่างไม่เหมาะสม
  • การผสมผสานระหว่างโค้ดกับข้อมูล
  • การจัดการประเภทที่ไม่เหมาะสม

7. PHP การเขียนสคริปต์ข้ามไซต์

XSS เป็นอีกสาเหตุหนึ่งที่พบได้ทั่วไปของไซต์ PHP แบบกำหนดเองที่ถูกแฮ็กหลังจากการฉีด SQL การโจมตีทั้งสองแบบนี้แพร่หลายมากบนเว็บที่มีคุณลักษณะเด่นทุกปีใน OWASP 10 อันดับแรก นอกจากนี้ XSS ยังเกิดจากการที่ผู้ใช้ขาดการดูแลเอาใจใส่ ในไซต์ PHP และโดยทั่วไป การโจมตี XSS แบ่งออกเป็นสามประเภทหลัก:

  • XSS ที่เก็บไว้: XSS ประเภทนี้อาศัยผู้ดูแลเว็บในการคลิกลิงก์เฉพาะซึ่งจะโหลดสคริปต์ที่เป็นอันตรายเพื่อขโมยคุกกี้
  • XSS ที่สะท้อน: นี่เป็น XSS ที่ค่อนข้างจริงจัง และพบได้ทั่วไปในไซต์ PHP ที่มีฟอรัม การสนทนา ฯลฯ โค้ดที่เป็นอันตรายจาก XSS ประเภทนี้จะถูกเก็บไว้ในเซิร์ฟเวอร์และถูกดำเนินการทุกครั้งที่ผู้ใช้เยี่ยมชมหน้า PHP นั้น
  • DOM ตาม XSS: XSS ประเภทนี้อาจเป็นแบบใดแบบหนึ่งจากสองแบบที่ระบุข้างต้น แต่การตรวจจับ XSS ประเภทนี้ค่อนข้างยากและอาจหลบหนีได้หลังจากการตรวจสอบโค้ดแล้ว

โดยทั่วไปแล้ว ไซต์ที่เสี่ยงต่อ XSS มักตกเป็นเป้าหมายสำหรับการแฮ็กการเปลี่ยนเส้นทางเว็บไซต์ PHP หรือเพื่อขโมยคุกกี้ของผู้ดูแลระบบ

8. การปลอมแปลงคำขอข้ามไซต์ PHP

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

9. การรวมไฟล์ในเครื่อง PHP

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

ข้อบกพร่อง Zero-Day ใน PHP

10. ปลั๊กอินหรือธีมของ Buggy

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

11. แพ็คเกจ PHP ที่ถูกบุกรุก

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

การโจมตีด้านวิศวกรรมสังคม

12. ฟิชชิ่ง

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

13. หางเสือ

Tailgating เป็นอีกรูปแบบหนึ่งของการโจมตีแบบฟิชชิ่ง ภายใต้การโจมตีนี้ ผู้โจมตีจะประนีประนอมกับบัญชีผู้ใช้ระดับต่ำก่อนแล้วจึงใช้เพื่อยกระดับสิทธิ์ Tailgating ถูกพบในกรณีศึกษากรณีหนึ่งโดยนักวิจัยของเรา และมักใช้เพื่อหลบเลี่ยงการตรวจจับ ผลที่ตามมาของ tailgating อาจแตกต่างกันไปจากการขโมยข้อมูลไปจนถึงไซต์ PHP ที่ถูกแฮ็ก

เว็บไซต์ PHP แบบกำหนดเองถูกแฮ็ก:การรักษาความปลอดภัยเว็บไซต์

เว็บไซต์ PHP ถูกแฮ็ก? ช่องโหว่ PHP เหล่านี้อาจเป็นสาเหตุได้

ตั้งค่าการอนุญาตที่ถูกต้อง

PHP มีฟังก์ชันสามอย่างต่อไปนี้เพื่อตรวจสอบสิทธิ์ของไฟล์:

  1. is_readable(): ฟังก์ชันนี้จะคืนค่าบูลีนเป็น true หากผู้ใช้ได้รับอนุญาตให้อ่านไฟล์ PHP
  2. is_writable(): ฟังก์ชันนี้จะคืนค่าบูลีนเป็น true หากผู้ใช้ได้รับอนุญาตให้เขียนไปยังไฟล์ PHP
  3. is_executable(): ฟังก์ชันนี้จะคืนค่าบูลีนเป็น true หากผู้ใช้ได้รับอนุญาตให้รันไฟล์ PHP

ในทำนองเดียวกัน ฟังก์ชัน chmod() ของ PHP สามารถใช้แก้ไขสิทธิ์ของไฟล์ได้ เพียงป้อนชื่อไฟล์พร้อมกับสิทธิ์ เช่น “chmod($RandomFile, 0644);”. ในภาพด้านล่างคือรายการการอนุญาตไฟล์ทั้งหมดและสิ่งที่มันทำ นอกจากนี้ ตรวจสอบให้แน่ใจว่าได้ผนวก '0' ก่อนการอนุญาตไฟล์เพื่อระบุตัวแปล PHP ว่าอินพุตเป็นเลขฐานแปด

เว็บไซต์ PHP ถูกแฮ็ก? ช่องโหว่ PHP เหล่านี้อาจเป็นสาเหตุได้

ตั้งรหัสผ่านที่ปลอดภัย

ตรวจสอบให้แน่ใจว่ารหัสผ่านของคุณไปยังไซต์ PHP ที่กำหนดเองนั้นปลอดภัย ทำให้เป็นการผสมผสานระหว่างตัวเลข ตัวอักษร และสัญลักษณ์ได้เป็นอย่างดี นอกจากนี้ ก่อนตั้งรหัสผ่าน จะเป็นขั้นตอนในการป้องกันไว้ก่อนเพื่ออ่านพจนานุกรมรหัสผ่านยอดนิยม เช่น Rockyou.txt และตรวจสอบว่ารหัสผ่านที่คุณกำลังตั้งค่าไม่มีอยู่ที่นั่นหรือไม่ ในกรณีของผู้ใช้ลินุกซ์ คำสั่ง Grep สามารถช่วยในการค้นหาในไฟล์ขนาดใหญ่ได้ เพียงค้นหา grep -i '*YourNewpass*' rockyou.txt นอกจากนี้ เพื่อหลีกเลี่ยงความยุ่งยากในการสร้างรหัสผ่านใหม่ คุณสามารถใช้เครื่องมือออนไลน์อื่นๆ เพื่อรับรหัสผ่านที่ปลอดภัย ยาว และสุ่มได้

ปิดใช้งานการจัดทำดัชนีไดเรกทอรี

หากต้องการปิดใช้งานการจัดทำดัชนีในไดเร็กทอรีเฉพาะ ให้เพิ่มโค้ดต่อไปนี้ต่อท้ายไฟล์ .htaccess (ในกรณีที่ไม่มี .htaccess ให้สร้างขึ้นใหม่):

ตัวเลือก -ดัชนี

ใช้โฮสติ้งที่ปลอดภัย

โดยทั่วไปในขณะที่มองหาบริการโฮสติ้ง ตรวจสอบให้แน่ใจว่ามีไฟร์วอลล์หรือโซลูชันการรักษาความปลอดภัยเช่นเดียวกับ Astra Security ที่ทำร่วมกับพันธมิตรโฮสติ้งแบบบูรณาการ นอกจากนี้ ตรวจสอบให้แน่ใจว่าเครือข่ายย่อยเพื่อแยกไซต์ของคุณออกจากไซต์อื่นที่ทำงานบนเซิร์ฟเวอร์เดียวกัน

การตรวจสอบโค้ด PHP

เมื่อไซต์ PHP แบบกำหนดเองถูกสร้างขึ้น การสร้างไซต์ใหม่ตั้งแต่ต้นจะไม่สามารถทำได้ในเชิงเศรษฐกิจ ดังนั้น การตรวจสอบโค้ดจึงเป็นวิธีที่ดีที่สุดในการตรวจหาช่องโหว่ในเว็บไซต์ PHP ก่อนที่ผู้โจมตีจะทำ Astra Security มีชุมชนแฮกเกอร์ที่ยอดเยี่ยมในการตรวจสอบและทดสอบความปลอดภัยของเว็บไซต์ของคุณ