03.04.2014 Views

Май - Xakep Online

Май - Xakep Online

Май - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

взлом<br />

Список файлов и директорий<br />

Обнаружение баги<br />

типа http://forums.tjat.com/wap/wapmisc.php?action=foru<br />

m&forum=1', но все они опять же обламывались на файле<br />

auth.php. Не найдя ничего полезного на форуме, я снова<br />

полез на основной сайт мессенджера.<br />

Развитие сюжета<br />

Залогинившись под левым уином, я попробовал вставлять<br />

разные хитрые символы во всевозможные параметры<br />

скриптов шлюза — опять же ничего не получалось. Совершив<br />

процедуру логаута и совершенно ни на что уже не надеясь, я<br />

попытался проверить самый простой и безобидный параметр<br />

lang следующим запросом:<br />

http://wap.tjat.com/?lang=ru<br />

../../../../..<br />

/../../../../../../../..<br />

На это система мне благополучно выдала все свои секреты:<br />

Warning: main(): Unable to access /usr/<br />

local/apache/htdocs/wap/messages.ru..<br />

/../../../../../../../../../../../..<br />

in /usr/local/apache/htdocs/wap/setlang.<br />

php on line 269<br />

Радости моей не было предела! Хоть это был и сложный<br />

локальный инклуд, но все же инклуд! Теперь оставалось<br />

только залить куда-нибудь на сервер tjat.com свой шелл.<br />

Я снова пошел на форум, наивно полагая, что туда можно<br />

залить аватар, но такой возможности не было... Не отчаявшись,<br />

я решил посмотреть /etc/passwd. Первый запрос<br />

http://wap.tjat.com/? lang=ru../../../../../../../../../../../../../etc/<br />

passwd ничего не дал, но второй — http://wap.tjat.com/<br />

?lang=ru/../../../../../../../../../../../../../etc/passwd с дополнительным<br />

слешем после lang=ru — выдал мне все содержание файла.<br />

Это уже было что-то, но оставалось еще локально залить<br />

шелл. Немного подумав над планом дальнейших действий, я<br />

решил посмотреть файл httpd.conf:<br />

http://wap.tjat.com/?lang=ru<br />

/../../../../..<br />

/../../../../../../../..<br />

/usr/local/apache/conf/httpd.conf<br />

Внимательно изучив полученные данные и обнаружив среди<br />

них некий сайт i.tjat.com, я решил посмотреть его лог. Он был<br />

довольно небольшим — что-то около килобайта. Ты спросишь,<br />

к чему все эти действия? Читай дальше :).<br />

Первые успехи<br />

Если локальный шелл никаким образом залить нельзя, то<br />

отчего же не внедрить нужный код прямо в лог, а потом<br />

xàêåð 05 /101/ 07<br />

заинклудить его с помощью уже известной баги? Итак, сооружаем<br />

небольшой php-скрипт для отсылки нужного нам кода:<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!