เพราะใช้ความชั่วร้ายที่มีเจตนาร้ายสามารถพยายามที่จะชี้ให้ไฟล์คือการเขียนไปยังสถานที่ที่แตกต่างกัน นี่ไม่ใช่เรื่องง่าย แต่เป็นไปได้จริง ๆroot
ตัวอย่างเช่นหากผู้ใช้จะหาวิธีสร้างsymlinkจากบันทึก Apache ที่ควรพูด/ etc / shadowคุณจะมีระบบที่ใช้ไม่ได้ Apache ( root
) จะเขียนทับข้อมูลประจำตัวของผู้ใช้ของคุณซึ่งทำให้ระบบเกิดความผิดพลาด
ln -s /etc/shadow /home/eviluser/access.log
หากไฟล์access.logไม่สามารถเขียนได้โดยผู้ใช้อาจเป็นการยากที่จะจี้ แต่การหลีกเลี่ยงความเป็นไปได้นั้นดีกว่า!
มีความเป็นไปได้ที่จะใช้ logrotate เพื่อทำงานสร้างลิงค์ไปยังไฟล์ที่ไม่มีอยู่ แต่logrotateนั้นจะเขียนทับทันทีที่บันทึกเติบโตขึ้น:
ln -s /etc/shadow /home/eviluser/access.log.1
หมายเหตุ :
symlinkวิธีการเป็นเพียงหนึ่งในการโจมตีที่เป็นไปได้ให้เป็นหลักฐานการแนวคิด
การรักษาความปลอดภัยจะต้องทำด้วยใจ White Listไม่ใช่บัญชีดำสิ่งที่เรารู้ว่าเป็นปัญหา