Дапамажыце dev.by 🤍
Падтрымаць

О безопасности 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 ўрэзала доступ да Pro-версій Gemini 3 і Nano Banana, Alibaba дзеліць кліентаў па прыярытэту — кампаніі пакутуюць на папулярнасць
Google ўрэзала доступ да Pro-версій Gemini 3 і Nano Banana, Alibaba дзеліць кліентаў па прыярытэту — кампаніі пакутуюць на папулярнасць
Google ўрэзала доступ да Pro-версій Gemini 3 і Nano Banana, Alibaba дзеліць кліентаў па прыярытэту — кампаніі пакутуюць на папулярнасць
Nvidia: Google добрая, але мы на пакаленне наперадзе
Nvidia: Google добрая, але мы на пакаленне наперадзе
Nvidia: Google добрая, але мы на пакаленне наперадзе
3 каментарыя
Google рыхтуе новую аперацыйную сістэму з акцэнтам на штучны інтэлект
Google рыхтуе новую аперацыйную сістэму з акцэнтам на штучны інтэлект
Google рыхтуе новую аперацыйную сістэму з акцэнтам на штучны інтэлект
Google абнавіла Nano Banana: генератар цяпер стварае постары і інфаграфіку
Google абнавіла Nano Banana: генератар цяпер стварае постары і інфаграфіку
Google абнавіла Nano Banana: генератар цяпер стварае постары і інфаграфіку

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.