Рассказываем, как решался таск, который не только стойко выдержал все нападки sqlmap`ами, но и (внезапно!) принес грант разработчику задания.
Lucky flag (400 PTS)
Увидев турнирную таблицу, один из разработчиков решил разыграть флаг. Для этого он создал сайт и одного из зарегистрировавшихся на нем 31.07.2019 он сделает счастливым. Но, может есть способ раньше получить флаг?
Первое что сделаем, так это переходим по ссылке и видим следующую страницу:
Изучив функционал сайта, не видим ничего на первый взгляд подозрительного. Просмотрев https://luckyflag.letoctf.org/robots.txt можно увидеть, что пытались скрыть каталог ./bc
Перейдя в каталог, видим архивы с бэкапами. Скачиваем и просматриваем содержимое.
Просмотрев исходники, мы понимаем, что используется фреймворк Fat-Free Framework. В бэкапе были затерты некоторые поля зведочками или словом «HIDEN». Внимание привлекает исходники priz.php, в котором «какое-то мясо».
Закинув часть кода в гугл, мы узнаем о применении деобфускатора Decode Zeura v1.0. Посмотрев внимательно, увидим часть условий для получения ссылки для просмотра флага.
1) Логин должен содержать letoctf_
2) И пользователь в БД в поле lucker должен содержать 1
Но для проверки второго условия используется незащищенный запрос к БД, в него передается значение из сессии. Найдем, где присваиваются значения сессии с именем пользователя. При регистрации происходит экранирование. Но при авторизации значение берётся из БД и не экранируется.
Регистрируем пользователя letoctf_test' and 1=0 or lucker=1 --, деавторизуемся, авторизуемся, переходим на страницу Приза и видим, что нам предлагают получить флаг:
Но получаем сообщение о попытке взлома.
Написав простенький алгоритм, выполняем слепую SQL-инъекцию.
Получаем логин и хеш пароля.
letoctf_2907fffe3007d90C77E0800822c8CA5B0E4253910e66a65D3b8EE57803c7948E_Hackers
49c87b3ccac69a78a2e3451a26ed2b02
С помощью любого сервиса находим пару md5(text) --> text
Пароль: Hackers
Авторизуемся и получаем флаг.
Список людей, решивших этот таск:
- kekov - 1547 PTS
- rinagert512 - 1564 PTS
- maximadrian - 1269 PTS
- ajanshd - 536 PTS
- null_p0inter - 368 PTS
Поздравляем, вы восхитительны! Но восхитителен и разработчик задания Денис Саврадым, которому наши постоянные партнеры, защищающие соревнования от DDoS-атак уже на протяжении полутора лет, компания SERVICEPIPE, решила предоставить персональный грант на участие в Летней школе.
Присоединиться к Денису можно всё так же, выиграв грант от компании Positive Technologies, ведь новый таск уже у бота! На этот раз у нас в программе PWN из Воронежа от @ff_one с екатеринбургским саппортом в лице @keltecc.
Keystore (300 PTS)
Один из организаторов ЛШ2019 использует самодельный сервис для хранения паролей, естественно все защищено по максимуму и известны только ip и port сервиса. Я думаю и тут для тебя нет преград (x86)
nc pwn.letoctf.org 15551
Данные по предпоследней неделе:
Начало: 15 июля в 15:00
Дедлайн: 19 июля
Чат: https://t.me/letoctfbot2019
Формат флага: LetoCTF{text}
Мы в соцсетях