Поздравляем участников принявших участие за Античат в квесте VolgaCtf. Несмотря на сложности со временем и кадрами, и не совсем специфической тематики нашего форума, они заняли почетное 14 место. Возможно в следующий раз участников от Античат будет больше и будут достигнуты более высокие места. Ссылка на результат https://2016.volgactf.ru/scoreboard .
Хороший тамада и конкурсы интересные! Всем спасибо за участие. Конкурсы проходят почти каждые выходные по несколько штук. Если есть заинтересованные люди со знанием и опытом, то готовы рассмотреть вас в качестве участника команды от античата. В первую очередь интересуют личности со знанием в области реверсинга, крипто, администрирования.
На volgactf решено: ppc, reverse, ppc, crypto, stego, web, pwn, crypto, admin, web, ppc, ppc, web, crypto, ppc, web, admin. Теперь ты представляешь насколько ты ошибаешься.
Спасибо Themis Quals & VolgaCTF за предоставленную возможность! Нам понравилось! Отдельное спасибо @yarbabin за создание конференции - впервые в состязании приняли участие не только привилегированные юзеры, но и простые мемберы. Мой write-up интересного и простого задания по WEB: Это одно из тех заданий, которое мы сделали раньше всех! Был дан небольшой сайт с регистрацией/авторизацией, возможностью писать сообщения самому себе, просматривать список юзеров. Все работало как часы, ничего лишнего не было. Единственная зацепка, которую удалось заметить - сессии, выдаваемые при авторизации, не менялись. Кроме того, сайт показывал время регистрации каждого пользователя - оно навязывалось почти на каждом шаге. Мы выдвинули 2 гипотезы: Значение сессии генерируются при помощи ГПСЧ в момент регистрации, заносится в базу и не меняется Значение сессии генерируется от заведомо известных параметров без помощи ГПСЧ Чтение идентификаторов сессий как md5 и их брут ничего не давал. Мы решили проверить вторую гипотезу (первая была оставлена на потом из-за заведомых трудностей в реализации атаки). Так как сессии были статичными, то должна существовать функция, взаимно-однозначно отображающая множество никнеймов в множество сессий. На деле мы имели возможность выполнить преобразование создаваемого юзера в упорядоченный набор с сессией и временным штампом регистрации: Все давало понять, что сессия генерируется на основе timestamp и username, но попытки их конкатенации из таблицы пользователей не давали успеха. Завершить дело помогла небольшая логическая ошибка: Code: > POST /login HTTP/1.1 > Host: ur.2016.volgactf.ru:8080 > Content-Type: application/x-www-form-urlencoded > Content-Length: 30 > > username=Antichat&password=%00 < HTTP/1.1 302 Found < Content-Type: application/json; charset=utf-8 < Location: /home < Set-Cookie: _session=7307d40eb394c9f8c941e43cfd3eda32; Path=/ < Date: Sun, 27 Mar 2016 22:36:26 GMT < Content-Length: 50 < < {"logined":"","timestamp":"0001-01-01T00:00:00Z"} md5("0001-01-01T00:00:00Z") == "7307d40eb394c9f8c941e43cfd3eda32". После такой находки мы быстро поняли алгоритм генерации сессии: _session = md5(concat(username, date)), где date = const string RFC3339 = "Y-m-d\TH:i:sP". Мы спарсили список мемберов, перевели формат даты в нужный, сгенерировали список всех сессий и стали ждать захода жертвы. Не прошло и суток, как под 173-им юзером активировалась сессия и помогла получить нам заветный флаг: VolgaCTF{__why_so_strange_request_statuses__} Данное задание было решено 8-ю командами, средняя оценка задания: 4.25 балла из 5.
Мы часто играем, иногда занимаем места выше, иногда ниже, но редко пишем об этом в паблик. Были и более впечатляющие результаты. Иногда выносили весь CTF вместе с движком Администрации, конечно, о всех проблемах мы сообщали. Один раз из-за нами найденной уязвимости по сдаче флагов и честно отправленной администрации с нас сняли все очки. Потом задумываешься - а стоит ли им писать...
Молодцы добавить больше нечего! Но в паблик почаще выкладывайте результаты. Думаю многим интересно будет