Как обеспечить безопасность файловой системы работая на чистом php+mysql? Как "кулхацкеры" заливают свои скрипты на сервер, скачивают сайты целиком и тд?
Обычно используя какие-то ошибки в коде. Если возможно запустить произвольный код на системе, то через эту уязвимость можно загрузить shell через который уже получить доступ к серверу и всем остальным фаилам. www.sitepoint.com/top-10-php-security-vulnerabilities
Через загрузку файлов, если веб-приложение, при определённых обстоятельствах, способно исполнять эти файлы, как код. Можно изолировать upload-папку от какого-либо исполнения, или хранить тамошние файлы на отдельном сабдомене без всяких PHP.
Через SQL Injection, заставляя сайт исполнять произвольные команды, включая загрузку своих скриптов.
Теория и ряд практик по этим и другим угрозам в веб-приложениях структурированы здесь: https://www.owasp.org/