Хабрахабр

Даже web ресурсы известных организаций не защищены от детских ошибок

Disclaimer. Все события происходили в 2017 году. Обо всех указанных в статье уязвимостях было сообщено представителям компаний в кратчайшие сроки с момента их обнаружения. Некоторые ресурсы, на 2019 год, были полностью обновлены (frontend и backend).
Статья носит сугубо информационно-образовательный характер.

Пробегая по старым папкам, наткнулся на сохраненные скриншоты, которые делал для представителей пары небезызвестных компаний на нашем финансово-IT рынке.
Все началось с того, что я решил сменить профиль работы и попробовать себя в QA или смежной профессии, только уже не самоучкой-одиночкой, а заняться этим в штате какой-нибудь крупной организации, чтобы было у кого перенять опыт, поработать в команде…

После размещения резюме, со мной пересекались Сбербанк-Технологии, Банк Открытие о которых и пойдет небольшое повествование.

Всегда приятно иметь козырь в рукаве на переговорах.
После приглашения пообщаться, я решил посмотреть, что же живет на доменах компаний, на предмет интересных уязвимостей.

Сбербанк

Сбербанк в первую очередь ассоциируется с Россией, но у него есть филиалы и в других странах. Поэтому, я решил пойти по «простому» пути. Практически через пару попыток было найдено две пассивные XSS уязвимости в веб-интерфейсе Белорусского Сбербанка.

Первая детская ошибка – не проверять входящие данные со стороны пользователя. Как результат – межсайтовый скриптинг в поле поиска и формы входа в Сбербанк Онлайн.

Отдельный момент по форме входа Сбербанк Онлайн – хоть форма и передавала значения через POST, но скрипты на веб-сервере успешно обрабатывали и мой GET запрос.

Им оказался портал «Сбербанк Таланты». Так же решил глянуть домен, с которого мне написала HR Сбербанка.

NET. Помучив разные формы и скрытые поля, ничего путного не получил, кроме того, что портал крутится на ASP.

Просмотрев в очередной раз исходник главной HTML страницы, обратил внимание на то, что все JS и CSS файлы отдаются через скрипт, который объединяет и сжимает файлы, указанные в GET запросе.

Вторая детская ошибка – не ограничивать белым списком перечень файлов/каталогов, которые можно выгружать с сервера.

А также, более интересному файлу с логами, где были указаны как пароли от SQL и других сервисов, так и актуальные токены API для публикации в социальных сетях. В итоге я получил доступ к файлу конфигурации веб-сервера.

Открытие

Здесь я так же решил не тратить время на основной портал, а сразу просмотреть на какие свои веб ресурсы ссылается банк. Подопытным, по случайной аналогии со Сбербанком, стал «Карьерный портал банка «Открытие»».

Как правило, крупные коммерческие движки или движки с открытым исходным кодом не содержат детских ошибок, но… Оказалось, что портал работает на CMS Bitrix.

Окей гугл, как получить доступ в админку Битрикса?

Третья детская ошибка – не закрывать листинг директорий на сервере.

Это не сильно критичная проблема, если бы не роковое стечение обстоятельств. В принципе все и так понятно – Apache был настроен так, что директории без index файлов показывали свое содержимое. Пару минут и я уже смотрю на листинг директории с данными соискателей. На карьерном портале можно загрузить свои контактные данные и файл своего резюме.

Поэтому листаем все папки в надежде что-то найти.
Не детская ошибка – человеческий фактор. Я не знаю «как» и главное «зачем», но в одном из каталогов с PDF/RTF/DOC файлами лежал файл без расширения, который представлял собой PHP скрипт. Это все интересно, но не админка.

Благодаря этому файлу был получен новый вектор поиска – папка /estaff/, где лежали логи добавления/удаления вакансий с логин/пароль парой, скрипты модуля, а так же в одном из файлов засветились реквизиты, которые подходили к админ-панели Битрикса.

Теперь, Шарик, ты еще полдня за ним будешь бегать — фотографии отдавать...

К сожалению, для меня эта история закончилась без счастливого финала. Во-первых, пришлось долго искать реального представителя банка, связанного с IT. Первая линия поддержки банков (как и сами HR) в принципе не понимали проблемы, что ожидаемо, но и передать эти данные выше коллегам из нужных отделов не могли.

Решением стал LinkedIn и рассылка личных сообщений по руководителям различных отделов, хоть как-то связанных с IT инфраструктурой.

Во-вторых, у обоих банков отсутствует программа Bug Bounty, как следствие, все ограничилось лаконичным «Спасибо».

А в-третьих, HR обоих банков не стали рассматривать мое резюме, сославшись на отсутствие опыта.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть