Обман, чтобы набрать классы: мы выяснили, что на самом деле на кубке за 3 место уже написано LC[]BC!
3 место — Стафеев Алексей, ВШЭ
2 место — Булавас Владас, МФТИ
1 место — Лебедев Роман, НГУ
2 место — Булавас Владас, МФТИ
1 место — Лебедев Роман, НГУ
Начинается награждение призеров и победителей RuCTF 2019 с кулстори про историю соревнования
Награждается команда [SPbCTF] LCϟBC за 3 место
Университет ИТМО
Илья Глебов
Александр Менщиков
Евгений Проценко
Влад Росков
Владимир Волков
Вячеслав Шарипов
Алексей Латышев
Университет ИТМО
Илья Глебов
Александр Менщиков
Евгений Проценко
Влад Росков
Владимир Волков
Вячеслав Шарипов
Алексей Латышев
Награждается команда Shadow Servants за 2 место
Высшая школа экономики
Николай Ткаченко
Иван Новиков
Александр Атмадшев
Денис Солонков
Роман Никитин
Илья Греков
Максим Першин
Высшая школа экономики
Николай Ткаченко
Иван Новиков
Александр Атмадшев
Денис Солонков
Роман Никитин
Илья Греков
Максим Першин
Награждается команда Tower of Hanoi за 1 место
Politecnico di Milano
Marcello Pogliani
Marco Festa
Pietro Ferretti
Armando Bellante
Filippo Cremonese
Andrea Jegher
Lorenzo Binosi
Politecnico di Milano
Marcello Pogliani
Marco Festa
Pietro Ferretti
Armando Bellante
Filippo Cremonese
Andrea Jegher
Lorenzo Binosi
О, вау, на руцтф есть квота иностранных команд? Я-то думал, там по итогам RuCTFE проходят
beacons
– сессии генерировались странно: md5(''), md5(md5('')), и т.д. — можно было подобрать
– сгенерировав 151 uuid можно получить состояние генератора, используемого в getrandbits в Python
– была XSS, но она не эксплуатировалась (привет, @alagunto): в загрузке картинок в названии устройства, с которого она была снята
– сессии генерировались странно: md5(''), md5(md5('')), и т.д. — можно было подобрать
– сгенерировав 151 uuid можно получить состояние генератора, используемого в getrandbits в Python
– была XSS, но она не эксплуатировалась (привет, @alagunto): в загрузке картинок в названии устройства, с которого она была снята
brainhugger
– можно воровать чужие куки с помощью логической баги, а затем делать padding oracle атаку
– была слабая генерация ключей, и вместо padding oracle можно было брутить локально
– в бинаре был выключен ASLR, с помощью BF-команды
Из зала говорят, что стек тоже был исполняемым, и вообще всё на армах было исполняемым
– можно воровать чужие куки с помощью логической баги, а затем делать padding oracle атаку
– была слабая генерация ключей, и вместо padding oracle можно было брутить локально
– в бинаре был выключен ASLR, с помощью BF-команды
> можно было выйти за пределы выделенной области на стеке. Буфер вывода был исполняемымИз зала говорят, что стек тоже был исполняемым, и вообще всё на армах было исполняемым
geoapi
– можно было поменять настройки генератора ключей пользователей так, чтобы длина ключа была нулевой с помощью десериализации JSON и вытащить все флаги
– можно было поменять настройки генератора ключей пользователей так, чтобы длина ключа была нулевой с помощью десериализации JSON и вытащить все флаги
index
– на самом деле сервис был запущен не в продакшене, и если в запросе есть кука, то можно было читать все приватные записки
– path traversal в zip-архивах (но кроме этого, можно было создавать пользователей с именем вида /home/index/...)
– на самом деле сервис был запущен не в продакшене, и если в запросе есть кука, то можно было читать все приватные записки
– path traversal в zip-архивах (но кроме этого, можно было создавать пользователей с именем вида /home/index/...)
weatherd
Разбор начался с того, что Каппа снова передает привет @alagunto
– поле race не экранировалось, с помощью неё можно было заинжектиться в noscript, получить png и вытащить оттуда флаг
– токены каналов генерировались неслучайно, поэтому можно было подписываться на чужие каналы
Разбор начался с того, что Каппа снова передает привет @alagunto
– поле race не экранировалось, с помощью неё можно было заинжектиться в noscript, получить png и вытащить оттуда флаг
– токены каналов генерировались неслучайно, поэтому можно было подписываться на чужие каналы
sandbox
– в прокси на плюсах была RCE: в uuid_parse было переполнение, которое можно было эксплуатировать через libinterface.so, можно было перезаписать саму библиотеку
– получив всё, можно было проэксплуатировать Meltdown, и забрать флаги с другого прокси
– в прокси на плюсах была RCE: в uuid_parse было переполнение, которое можно было эксплуатировать через libinterface.so, можно было перезаписать саму библиотеку
– получив всё, можно было проэксплуатировать Meltdown, и забрать флаги с другого прокси