Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте форумчане. Недавно столкнулся с проблемой. Получил письмо от некой организации OpenBugBounty. Там говорится что они нашли некую уязвимость под названием "Неправильный контроль доступа" на сайте. URL уязвимости http://mysite.ru/.env. Естественно при открытии данного урла я получаю ошибку что такая страница не найдена. Собственно вопрос в том какая тут может быть уязвимость?
Не в сети
Письмо это разводка на деньги. А речь идёт о том, что файлы, начинающиеся на "." по идее не должны быть доступны через веб. И, вроде бы, у тебя они не доступны. Такие файлы могут содержать в себе ключи и пароли.
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
по идее не должны быть доступны
Я просто оставлю это здесь: https://habr.com/ru/post/70330/
Не в сети
Спасибо за ответы.
artoodetoo, я тоже подумал что это попахивает разводом, но решил уточнить.
Proger_XP, интересная статья, но я все равно не понимаю как эта уязвимость могла сработать. При обращении к странице \.svn я ведь получу то же сообщение что страница не найдена. Роутер ведь отсечет этот запрос.
Не в сети
MadHatter роутер срабатывает только для тех файлов, для которых веб-сервер не нашёл соответствующего "статического" файла. Попробуй бросить в public что-нибудь "скрытое", т.е. с именем начинающимся с точки. Просто для спокойствия, а не потому что таинственный анонимус тебя попытался напугать.
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
интересная статья, но я все равно не понимаю как эта уязвимость могла сработать. При обращении к странице \.svn я ведь получу то же сообщение что страница не найдена. Роутер ведь отсечет этот запрос.
artoodetoo прав:
роутер срабатывает только для тех файлов, для которых веб-сервер не нашёл соответствующего "статического" файла
Но соль проблемы глубже. Раньше в Subversion (это, можно считать, предшественник git) папки .svn создавались не в корне репозитория, как у .git, а в каждой подпапке. Каждая такая папка содержала интересные вещи типа истории и исходников. Соответственно, если у тебя сайт деплоится из Subversion, то в твоей папке public_html (или аналога) всегда лежала "скрытая" папка .svn. Это описанная в статье уязвимость.
С git и Laravel проблема как будто не актуальна, так как git не мусорит своими папками везде, а Laravel поделен на корень и на public_html, причем public_html это подпапка в корне и потому .git в ней нет. Однако даже в Laravel есть любители перепиливать пути так, чтобы корень сайта указывал на корень фреймворка, то бишь помещают public_html в корень. А теперь добавь к этому модную нынче тенденцию все деплоить из git (я не говорю, что это плохо), и привет - в корне лежит .git, где, в отличии от Subversion, которая хранила только верхний коммит, хранится ВСЯ история и ВСЕ исходники во ВСЕХ папках данного репозитория. (Если не используется shallow repository.)
Так что будь начеку. Я лично советую всегда помещать это правило в конфиг всех хостов nginx:
location ~ /\. {
deny all;
}
Правда, это отключит и запросы ACME, так что если используется Let's Encrypt, то надо добавить и второе, пустое:
location ^~ /.well-known/ {
}
Не в сети
Спасибо за ответы. Я понял, то есть как таковой тут проблемы нет.
Не в сети
Страницы 1