Сегодня решим задачку по информационной безопасности web-серверов. Задачка с портала root-me.org, называется "Backup file". За решение задачки дают 15 баллов.
Нам встретится уязвимость с возможностью доступа к файлам бэкапа текстовых редакторов.
Многие текстовые редакторы в процессе редактирования делают резервные копии файлов, сохраняя их с другим расширением.
Ссылки
Решение
Переходим на страницу задания:
http://challenge01.root-me.org/web-serveur/ch11/
Мы видим форму авторизации. Есть поле логина, пароля и кнопка "connect".
Давайте проверим, не забыл ли разработчик отключить бэкап файлов в своём любимом текстовом редакторе. Гуглим расширения файлов бэкапа популярных текстовых редакторов.
Например, популярный тектовый редактор Emacs в процессе работы создаёт копию файла с тильдой на конце. Пробуем скачать файл index.php~.
Файл скачивается, вот так сюрприз! Заглянем внутрь.
Видим код с логином и паролем формы авторизации:
$username="ch11";
$password="OCCY9AcNm1tj";
Пробуем залогиниться в форме с этими учётными данными.
Вводим подсмотренный в файле бэкапа логин и пароль.
To validate the challenge use this password. Понятно, в качестве флага у нас выступает пароль:
OCCY9AcNm1tj
Валидируем задачку:
Well done, you won 15 Points.
Безопасность
- Фильтруйте разрешённые расширения файлов.
- Отключайте бэкап в редакторе.
- Не редактируйте боевой сайт, делайте изменения в тестовой среде, потом публикуйте на боевой сервер только нужные файлы.
- Не храните пароли в коде.