Symlinks ไม่จำเป็นต้องเลวร้าย
ก่อนอื่น: หากพยายามเปิดเป้าหมาย symlink สิทธิ์ของไฟล์ของเป้าหมายจะมีผล หากคุณไม่ได้รับอนุญาตให้อ่าน / เขียน / ดำเนินการเป้าหมาย symlink ไม่มีอะไรเกิดขึ้น
แต่: คุณอาจสามารถเรียกใช้ไฟล์นอกรูทเอกสารของคุณ (บางครั้งนั่นคือสิ่งที่คุณต้องการจะทำกับพวกเขาใช่ไหม) ปัญหาอาจเกิดขึ้นหากคุณไม่ได้อยู่ในสภาพแวดล้อม suEXEC และมีapache
หรือwww-data
ผู้ใช้ในพื้นที่สาธารณะที่รับผิดชอบการให้บริการไฟล์จากบัญชีที่แตกต่างกัน ผู้ใช้ระบบของคุณไม่ได้รับอนุญาตให้เข้าถึงไฟล์ของลูกค้ารายอื่น แต่apache/www-data
ผู้ใช้ส่วนใหญ่จะมีสิทธิ์อ่านในบัญชีที่แชร์ทั้งหมด นี่อาจเป็นสถานการณ์ที่ผู้ใช้รายหนึ่งสามารถเข้าถึงไฟล์ของผู้ใช้รายอื่นบนโฮสต์ที่ใช้ร่วมกัน ไม่ใช่กับผู้ใช้ของคุณ แต่โดยการเข้าถึงไฟล์ผ่านเบราว์เซอร์กับapache/www-data
ผู้ใช้ ในการสรุป: ในสถานการณ์นี้คุณจะสามารถเข้าถึงไฟล์ของผู้ใช้คนอื่น => ไม่ดี
สิ่งที่เลวร้ายถัดไปคือผู้โจมตีสามารถสร้าง symlink รวมถึงไฟล์เช่น / etc / passwd, ... , ดาวน์โหลดข้อมูลนี้และดำเนินการตามข้อมูลนี้ นี่ไม่เพียง แต่ขึ้นอยู่กับ symlink เท่านั้น แต่ยังรวมถึงการกำหนดค่าเซิร์ฟเวอร์ที่ไม่ดีด้วย (ซึ่งการเข้าถึงไฟล์เหล่านี้ถูก จำกัด อย่างเข้มงวด) ดังนั้นการไม่ใช้ symlink ป้องกันจากการโจมตีที่เป็นไปได้
มันไม่ได้เกี่ยวกับ symlink เท่านั้นที่เป็นความเสี่ยงด้านความปลอดภัย แต่เป็นปัญหาการกำหนดค่าเซิร์ฟเวอร์