PHDays HackQuest WriteUp

PHDays HackQuest WriteUp

koshcoca1ne

1. SinCity

Просканировав директории на хосте, я понял что сервер нормально отвечат 200 статусом на последовательность символов %c0%af и ещё нашёл папку /dev/.

Причем веб-сервер отадавал в заголовках будто он nginx, но на страницах ошибки было написано что это Resin/4.0.55 (это пригодится).

Сперва я попытался обратиться к директории /dev/ POSToм, а потом попробовал /dev%c0%af/ и у меня получилось. Там в исходниках страницы я увидел список фалов,

среди которых был task.php~~~edited. Для прохождения дальше нужна была кука со условием что md5 от неё будет равен "0e313373133731337313373133731337".

Решилось багой с 0е, дальше я задумался: strlen($_GET['constr'])===4.

Погуглил что такое Resin и оказалось что это сервер на джаве. Значит java нам подходит. Прочитав примеры, я получил такой вектор:

http://172.104.154.29/dev%c0%af/task.php?constr=java&arg=java.lang.Runtime&param[]=getRuntime&param[]=exec&test=ls


2. audio.mp3

Первым делом я переименовал файл в .zip, как оказалось весьма успешно - он начал требовать пароль. Тогда я его послушал.

Голос диктует строку, вида мд5, но короче. И на записе слышны небольшие обрывки. Значит символы вырезаны.

Небольшим скриптом сгенерировал все возможные варианты и пошёл искать брутфорсер. Тут оказалось сложнее - архив был не зипом, а раром.

Но crarck справился с этой задачей.


3. mnogorock

Тут всё просто. Зашел на сайт, там хинт, исполнил то, что написано. Дальше попробовал phpinfo(), не вышло, там стоит некий ваф.

Попробовал "phpinfo"(); Вышло. Дальше через system находим и читаем файл "print_r"("system"("cat /Le9iFudfj94Ef"))&


4. event0

Таск придумал садист. Хотя возможно я просто не знаю что это.

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

Почти сразу я понял что это некая последовательность - там был что-то вроде счетчика. Поэтому отбросив его и группы вида 0000, я начал смотреть что ешё меняется.

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

Попробовал перевести - получилось что-то более-менее внятное. Усовершенствовав свою догадку, я получил последовательность нажатий клавиш в виме.


5. CryptoApocalypse

Я так и не понял что там от крипты. Сначала я пытался вставить ос-команду в интпут, но не вышло. Потом я попробовал обратиться к file:///etc/passwd, появилась гифка - сработал ваф.

Попробовал file:// и file:/ (рудимент ж) - в итоге заработало. Пройдясь по дефолтным путям, я нашел сорец скрипта (/var/www/html/index.php), в котором был флаг

Report Page