Support us

О безопасности symfony-приложений

31 комментарий
О безопасности symfony-приложений
Symfony — свободный каркас, написанный на PHP5, который использует паттерн Model-View-Controller (MVC). По-моему личному впечатлению, да и, думаю, впечатлению многих проект очень удачный, поэтому он широко используется при создании сайтов. Именно поэтому стоит уделять особое внимание возможным уязвимостям. В данной статье пойдёт речь о одной из таких уъязвимостей — о разработчике. В свободное от работы время люблю позаниматься своими проектами, которые написаны с использованием php, различных свободных CMS и фреймворков. Один из таких проектов использует symfony в качестве основы. Как и большинство начинающих изучать symfony, начал я с примера, в котором создавались два приложения – frontend и backend. Frontend отображается пользователю, а backend используется для администрирования сайта. Symfony генерирует для этих приложений четыре файла:
index.php,  frontend_dev.php, backend.php,  backend_dev.php

  • index.php, backend.php – это production версии скриптов.
  • frontend_dev.php, backend_dev.php – это dev версия скриптов.
frontend_dev.php, backend_dev.php предназначены для отлаживания приложения на локальной машине и выводят много интересной информации: конфигурицию приложения, запросы к базе и много другое. Открыв эти файлы в редакторе, несложно заметить, что в них есть заглушка, убрав которую, можно отлаживать уже с любой машины.
if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) { 
die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); 
}
Зная данную информацию, напрашивается вопрос, как часто разработчики используют стандартные названия и поддаются соблазну удалённой отладки. Для поиска ответов на эти вопросы лучше всего обратиться к google. Первый же запрос “inurl:frontend_dev.php” выдаёт 495 000 результатов. Не все из результатов относятся к symfony, но цифра 495 000 впечатляет. Теперь, немного модифицируя запрос, можно найти много чего интересного. К примеру: “app_facebook_secret_key inurl:frontend_dev.php”. Более детальный анализ есть тут.
Читайте также
Google снова начнёт массово подавать сотрудников на процедуру для грин-карты — перестала в 2023
Google снова начнёт массово подавать сотрудников на процедуру для грин-карты — перестала в 2023
Google снова начнёт массово подавать сотрудников на процедуру для грин-карты — перестала в 2023
Главный ИИ-учёный Meta назвал общий ИИ «чушью». В Google не согласились
Главный ИИ-учёный Meta назвал общий ИИ «чушью». В Google не согласились
Главный ИИ-учёный Meta назвал общий ИИ «чушью». В Google не согласились
Год «бумерангов»: Google массово возвращает бывших сотрудников
Год «бумерангов»: Google массово возвращает бывших сотрудников
Год «бумерангов»: Google массово возвращает бывших сотрудников
Google попросила иностранных сотрудников не выезжать из США
Google попросила иностранных сотрудников не выезжать из США
Google попросила иностранных сотрудников не выезжать из США

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.