PHDays HackQuest WriteUp
koshcoca1ne1. 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¶m[]=getRuntime¶m[]=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), в котором был флаг