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

X-конкурс

BLoodeX

Хакер, номер #095, стр. 095-094-1


(bloodex@real.xakep.ru)

Итак, пришло время рассказать тебе о том, как прошел предыдущий конкурс. Первым делом надо было научиться менять номер комнаты на любой другой. Для этого в регистрации вместо короткого нужно было ввести большущий пароль - такой, чтобы он перекрыл собой переменную с номером комнаты. Менять номер комнаты как захочешь – это, конечно, великое счастье, но если менять его с умом, то этого счастья будет еще раз в 10 больше. А с умом надо было тупо перебирать номера, выходящие за границы списка. При этом нарушались границы соответствующего массива, и в информации пользователя мы видели следующие за массивом строки. Как назло для бота, там были логин и пароль админа. Счастливчики, дошедшие до этого момента, получили привилегии смены адреса комнат. Как помнишь, коды скрипта, соответствующего комнате, были выложены для всеобщего обозрения и несли на своем борту банальную php-injection. Но вот незадача - чтобы совершить php-injection, нужно было каким-то образом послать правильно сформированный post-запрос. Но и это было решабельно. Просто надо было учесть, что адрес комнаты вставляется непосредственно в http-запрос, и можно сформировать этот адрес так, что он заменит всю оставшуюся часть пакета и выставит нужные post-параметры. Вот так вот и появилась возможность выполнить произвольный php-скрипт и при желании получить web-shell, который, кстати, был с правами рута.

Содержание