решения задач по tinkoff CTF
1.24K subscribers
29 photos
14 files
35 links
Здесь будут скидываться райтапы по заданиям по Tinkoff CTF.

Райтапы от других людей тоже приветствуются, по ним писать в ЛС: @EvgenyKurmysa
Download Telegram
Forwarded from Yura
#Капибартер
в файле capibarter-3 внутри архива находим человекочитаемые строчки, из которых понятно, что нужно сходить на /api/v1/auth
там вводим support:th1sisv3rys3cretP@55w0rD и получаем флаг, нажав на любую машину из Либерти-Каписити
2👌1
Forwarded from Сергей Руденко ☭Серп☭
#Капибургер

перехватывал отправляемые запросы и увидел что у каждого передаются определенные уникальные значения, скопировал уникальное значение флага, заказал Капибургер, там есть бесплатная позиция, при отправке на покупку перехватил и изменил в запросе значение бесплатной позиции на ун.номер флага. готово
👍3💯31
Forwarded from Roman
капибездна с брутом на видеокарте
🤯4
Forwarded from Roman
5 минут
1
Forwarded from Roman
по сорцам ld / bfd найти как считается buildid и сбрутить,
1
Forwarded from Сергей Трифонов
Капибашня

1. Изучаем код, понимаем, что единственный способ получить флаг — поднять привилегии до администратора.
2. Находим зарегистрированную в SQLite функцию
func setRole(targetUserID, currentUserID int64, role models.Role) (bool, error)


3. Видим, что можно в качестве источника данных для импорта пользователей использовать БД SQLite.
4. Создаём БД malicious.db:
- в ней таблицу users (одного id хватит)
- добавляем единственную запись в таблицу
- и создаём view:
CREATE VIEW users AS 
SELECT setRole(%MY_USER_ID%, 1, 1) AS username, 1 AS card_id, 1 AS role, 1 AS password FROM test;

Загружаем файл, получаем администратора и флаг.
🔥52
Forwarded from Marat
Капитальный ремонт

Веб-интерфейс позволяет отправить показания счетчиков, которые считываются с картинки через OCR.

Это потенциальное место для SQL-инъекции. Посмотрев структуру БД и место, куда вставляется нефильтруемое значение счетчика, отправляем такую картинку, которая запишет в показание счетчика значение адреса из аккаунта мэра Капибаровска с id=1.
1🔥1
Forwarded from Anton
КапИИбара (capaibar) writeup
1. Подключаемся, выбираем Ника Капифьюри, выбираем "Получить ключ переписки"

Ключ переписки kp = k ^ Hash(secret|random) (secret - хранится в секрете, а random - каждый раз разный), где каждый байт гаммы получается с помощью вызова __hash__() класса Gamma. __hash__() никогда не возвращает -1, поэтому k[i] точно не равен kp[i]^0xFF.

2. Для каждого байта ключа k[i] создаем массив возможных байт, запрашиваем постоянно ключ переписки и исключаем из массива байт kp[i] ^ 0xFF. Когда для каждого k[i] останется один элемент в списке получаем итоговый ключ k

3. С помощью k шифруем сообщение "Hello, flag plz" и отправляем Нику Капифьюри. Получаем шифрованный флаг и расшифровываем.

Важно сохранять сессию и не отключаться, так как ключ генерится при старте приложения.
❤‍🔥2🔥21
Forwarded from Serg Lukyanov
Капибегущая строка
Смотрим pcap файл в Wireshark, он фактически сразу сам увидит, что это zigbee (или предложит установить плагин для разбора)
Смотрим информацию в инете, понимаем, что это протокол для сети устройств с малым энергопотреблением, поэтмоу скорее всего команды там должны быть простыми и прямыми.
Также задаёмся вопросом, как бы мы делали бегущую строку на доме - это что-то похожее на консоль, или на рекламные строки, где каждый пиксель это лампочка.
Замечаем, что есть строки, где в Info указано On/Off, видимо, это что-то включается/выключается. Остальное какое-то или rout или response,
Почитав про формат Zigbee понимаем, что это просто промежуточные команды, ответы по сети.
Учимся работать с фильтрами в Wireshark.
Фильтруем только те пакеты, что дают команду (по On/Off)
Также понимаем, что есть какое-то поле Destination
В самом начале идёт набор пакетов со всем off и подряд идущими Destination от 0 до 65 (0x40, точнее 0x0100- 0x0140), подозреваем, что устройств всего 65 и это какая-то матрица.
Кроме как 13x5 матрицы в голову ничего не приходит.

Далее нажимаем экспорт в Wireshark выбранных пакетов в новый файл pcap.
Пишем скрипт разбора этих пакетов с учётом того, что Wireshark отображает только rawdata, а там ещё есть заголовок пакета (Frame). Удобно также посмотреть сохранённый файлв 010Editor, он также сразу определяет, что это Zigbee и предлагает установить плагин для разбора, там видно всё побайтно.
Просто выводим в матрицу команды (зажигаем/выключаем каждый элемент, 0 = символ*, 1 - пробел). После 13 команд выводим матрицу на экран в матричном виде (красиво, все символы по горизонтали и вертикали выровнены)
Если делать в питоне на винде, то будет тяжелее восприниматься , так как вывод на экран будет постоянно ниже предыдущего, но если пролистать потом быстро консоль, то можно увидеть будквы. Или делать красиво с каким-нибудь фронтом.
🔥511