Я был обескуражен ответом техподдержки альфабанка, приведенным в посте «Находим SQL инъекцию...», а потому решил посмотреть как обстоят дела на других поддоменах.
Первое что я сделал — это нашел админку на b***.alfabank.ru с помощью того же гугла и незамысловатого «site:alfabank.ru inurl:/admin/»
И что я там увидел?
Скромное меню обещало мне PHPinfo(), настройки параметров сайта, и много чего еще:
Уже сейчас у меня в руках оказались редактируемые настройки сайта:

Покопавшись немного с тем, что нашел, я заметил упоминание про еще один поддомен (названия поддоменов не привожу здесь по причине, которую вы прочитаете в конце поста).
Опять же, простым гуглением по имени этого поддомена получаем выдачу, в которой сразу обнаруживаем страницу пользователя по фамилии m*****kaya.
Там (о, чудо!) заботливый разработчик вывел нам var_dump объекта, благодаря чему мы видим hash пароля:1d0258c2440a8d19e716292b231e3190.

Что же, поищем его в радужных таблицах? И находим: пароль manager. Не слишком изощрённо, на мой взгляд, но по крайней мере не «love/secret/sex/god». Успешно логинимся: nm*****kaya@alfabank.ru:manager.
Теперь мы обладаем правами зарегистрированного участника, сотрудника банка, и админа сайта, что немаловажно. Помимо того, что мы имеем доступ ко всем юзерам данного ресурса, доступный нам функционал расширился.
Р��зумеется, я мгновенно был заинтригован интерфейсом выполнения произвольных комманд php (кстати, кто-то может мне объяснить, зачем вообще он нужен на данном ресурсе?), где получил практически неограниченные возможности для исследования (ведь все это было проделано исключительно в научно-познавательных целях, вы же понимаете, да?):
и прочее в таком духе.
Помимо всего прочего, выяснилось, что права на доступ для пользователя www выставлены архилиберально. И правда, чего париться над /files/ если можно поставить 0777.
Дальше стало скучно, и я отписал о найденной уязвимости в службу поддержки, к которой, отметим справедливости ради, у меня получилось достучаться с первого раза.
Выводы в стиле капитана:
Через два дня мне пришел ответ:
Так как меня попросили не публиковать ссылки на ресурсы, то я выпилил их и особо красочные скриншоты из своего поста.
Очень хотелось бы обратить внимание хабраюзера 090h на последний абзац и почитать его комментарии к этому письму.
На текущий момент уязвимость, как вы понимаете, закрыта.
Спасибо за внимание.
Первое что я сделал — это нашел админку на b***.alfabank.ru с помощью того же гугла и незамысловатого «site:alfabank.ru inurl:/admin/»
И что я там увидел?
Скромное меню обещало мне PHPinfo(), настройки параметров сайта, и много чего еще:
- Empty cache
- Function reference
- Hook_elements()
- PHPinfo()
- Rebuild menus
- Reinstall modules
- Session viewer
- Theme registry
- Variable editor
Уже сейчас у меня в руках оказались редактируемые настройки сайта:

Покопавшись немного с тем, что нашел, я заметил упоминание про еще один поддомен (названия поддоменов не привожу здесь по причине, которую вы прочитаете в конце поста).
Опять же, простым гуглением по имени этого поддомена получаем выдачу, в которой сразу обнаруживаем страницу пользователя по фамилии m*****kaya.
Там (о, чудо!) заботливый разработчик вывел нам var_dump объекта, благодаря чему мы видим hash пароля:1d0258c2440a8d19e716292b231e3190.

Что же, поищем его в радужных таблицах? И находим: пароль manager. Не слишком изощрённо, на мой взгляд, но по крайней мере не «love/secret/sex/god». Успешно логинимся: nm*****kaya@alfabank.ru:manager.
Теперь мы обладаем правами зарегистрированного участника, сотрудника банка, и админа сайта, что немаловажно. Помимо того, что мы имеем доступ ко всем юзерам данного ресурса, доступный нам функционал расширился.
Р��зумеется, я мгновенно был заинтригован интерфейсом выполнения произвольных комманд php (кстати, кто-то может мне объяснить, зачем вообще он нужен на данном ресурсе?), где получил практически неограниченные возможности для исследования (ведь все это было проделано исключительно в научно-познавательных целях, вы же понимаете, да?):
echo shell_exec('uname -a');
echo shell_exec('grep -r "password" /usr/ > /var/tmp/tst.log');
echo shell_exec('find / -type d -perm 07700');
echo shell_exec('cat /etc/passwd');
echo shell_exec('ifconfig');
echo shell_exec('ps auxww');
echo shell_exec('cat /usr/local/etc/apache22/Includes/phpmyadmin.conf');
echo shell_exec('which wget');
и прочее в таком духе.
Помимо всего прочего, выяснилось, что права на доступ для пользователя www выставлены архилиберально. И правда, чего париться над /files/ если можно поставить 0777.
Дальше стало скучно, и я отписал о найденной уязвимости в службу поддержки, к которой, отметим справедливости ради, у меня получилось достучаться с первого раза.
Доброго времени суток, уважаемые сотрудники "Альфа-Банк"!
Уведомляю вас о том, что мною найдена серьезная уязвимость на одном
из ваших серверов, причем, на этот раз, на сервере отнюдь не
десятилетней давности.
Уязвимость вполне серьезная: она позволяет злоумышленнику выполнить
произвольную комманду shell на вашем сервере, дает админский доступ
к вашим [перечисление ресурсов], и много-много других "вкусностей". Видимо
за нее вам следует сказать спасибо товарищу [site-coder]@ gmail.com.
Некоторые подробности:
...
login: [login]
pass: manager
ну и далее php shell_exec('PROFIT').
С уважением, Александр.
Выводы в стиле капитана:
- Даже тестовые и devel сервера следует холить и лелеять, защищая их от посторонних глаз.
- Не следует предоставлять доступ к админке сайта людям, которые ставят словарные пароли, и при этом обладают чрезмерными правами доступа.
- Не следует давать возможность контент-менеджерам, тестерам, и прочим выполнять произвольные команды на сервере.
- Забывать закрывать страницы от поисковых роботов это плохо, плохо, плохо!
- Ну и, разумеется, не следует грубить и подкалывать тех, кто сообщает вам о найденных уязвимостях.
Через два дня мне пришел ответ:
Александр, здравствуйте.
Большое спасибо за указание на ошибку! Безусловно, отдельное спасибо и огромное выражение нашей признательности за то, что не стали ее использовать, а поставили нас в известность.
В данный момент мы все исправили и прикрыли указанное Вами безобразие.
Этот сайт, безусловно, не десятилетней давности, более того, он пока не запущен – занимаемся его разработкой буквально в свободное от работы время. Конечно же, перед запуском «в бой» мы бы тщательно все проверили и протестировали. Хотя это и не оправдывает того факта, что мы недостаточно серьезно отнеслись к защите разрабатываемого продукта. В связи с тем, что речь идет о проектах, которые находятся в разработке и пока не анонсировались общественности, были бы крайне признательны, если бы Вы не публиковали ссылки на них до момента запуска.
Е��е раз благодарю Вас за информацию!
PS Судя по Вашему комментарию «десятилетней», Вы читали запись на Хабре. Очень жаль, что автор той записи не привел описание всех своих действий и всю переписку целиком, а только последнее письмо. В таком виде, конечно же, получается несколько иная интерпретация нашего отношения к помощи от пользователей наших сайтов. Жаль, что данную запись не видят все те прекрасные люди, которые ежедневно нам пишут об ошибках и неточностях на наших основных сайтах, которые помогают нам быть лучше, и которым мы очень признательны за оказываемую помощь.
Так как меня попросили не публиковать ссылки на ресурсы, то я выпилил их и особо красочные скриншоты из своего поста.
Очень хотелось бы обратить внимание хабраюзера 090h на последний абзац и почитать его комментарии к этому письму.
На текущий момент уязвимость, как вы понимаете, закрыта.
Спасибо за внимание.
