Forwarded from Modal
Banner.rar
194.1 KB
Но вот этим я прям горжусь. НЕ в плане что собой - скорее тем, что смог на пару с гпт это написать - вышло шикарно)
⚡1💯1
Forwarded from weakly
#Капибартер
просто распаковываешь ipa как zip, далее бинарник закидываешь в ida, открываешь debugpanel видишь там
v22 = self;
v21[1] = (id)a2;
NSLog(&CFSTR("This function available only in Debug mode. Tap 5 times in the down right corner to enable it.").isa);
v21[0] = objc_retain(CFSTR("support"));
v20 = objc_retain(CFSTR("th1sisv3rys3cretP@55w0rD"));
v19 = objc_retainAutoreleasedReturnValue(
+[NSURL URLWithString:](
&OBJC_CLASS___NSURL,
"URLWithString:",
CFSTR("https://t-barter-3zrm60ot.spbctf.org/api/v2/auth")));
идешь логинишься, получаешь флаг
просто распаковываешь ipa как zip, далее бинарник закидываешь в ida, открываешь debugpanel видишь там
v22 = self;
v21[1] = (id)a2;
NSLog(&CFSTR("This function available only in Debug mode. Tap 5 times in the down right corner to enable it.").isa);
v21[0] = objc_retain(CFSTR("support"));
v20 = objc_retain(CFSTR("th1sisv3rys3cretP@55w0rD"));
v19 = objc_retainAutoreleasedReturnValue(
+[NSURL URLWithString:](
&OBJC_CLASS___NSURL,
"URLWithString:",
CFSTR("https://t-barter-3zrm60ot.spbctf.org/api/v2/auth")));
идешь логинишься, получаешь флаг
💯2⚡1
Forwarded from Modal
А ещё задачка с тикетами на парковке:
Смотрим barcode, видим там структуру: number%plate%date
Если с plate и date все ясно, то что за номер - хз, пробуем генерировать (много онлайн генераторов штрих кодов) и скармливать сайту разные коды, видим что меняется тип билета на 2 - earlybird, например. И так доходим до vip, который просит код. А у нас, между прочим и есть задание - найти этот код. Смотрим source и видим, что там всего 9 типов билетов, и последний из них - debug. Дальше, перебором понимаем, что мы имеем структуру ticket_type%plate%date%payload
И перебором понимаем, что мы можем исполнять shell команды. В итоге рекурсивно выводим содержимое файлов и находим искомы ключ
Смотрим barcode, видим там структуру: number%plate%date
Если с plate и date все ясно, то что за номер - хз, пробуем генерировать (много онлайн генераторов штрих кодов) и скармливать сайту разные коды, видим что меняется тип билета на 2 - earlybird, например. И так доходим до vip, который просит код. А у нас, между прочим и есть задание - найти этот код. Смотрим source и видим, что там всего 9 типов билетов, и последний из них - debug. Дальше, перебором понимаем, что мы имеем структуру ticket_type%plate%date%payload
И перебором понимаем, что мы можем исполнять shell команды. В итоге рекурсивно выводим содержимое файлов и находим искомы ключ
⚡2
Forwarded from Сергей Руденко ☭Серп☭
Капиборд.py
5.4 KB
#Капибаннер
на сайте получил исходную строки и строки по тз, а так же понял правила инвертирования светодиодов по строке и столбцу, написал( без помощью гпт не обошлось) питон-код и он мне вывел на какие светодиоды нажимать, далее протыкал в ручную(можно было как то упростить себе жизнь, но стало лень)
на сайте получил исходную строки и строки по тз, а так же понял правила инвертирования светодиодов по строке и столбцу, написал( без помощью гпт не обошлось) питон-код и он мне вывел на какие светодиоды нажимать, далее протыкал в ручную(можно было как то упростить себе жизнь, но стало лень)
⚡1💯1
Forwarded from Yura
#Капибартер
в файле capibarter-3 внутри архива находим человекочитаемые строчки, из которых понятно, что нужно сходить на /api/v1/auth
там вводим support:th1sisv3rys3cretP@55w0rD и получаем флаг, нажав на любую машину из Либерти-Каписити
в файле capibarter-3 внутри архива находим человекочитаемые строчки, из которых понятно, что нужно сходить на /api/v1/auth
там вводим support:th1sisv3rys3cretP@55w0rD и получаем флаг, нажав на любую машину из Либерти-Каписити
⚡2👌1
Forwarded from Сергей Руденко ☭Серп☭
#Капибургер
перехватывал отправляемые запросы и увидел что у каждого передаются определенные уникальные значения, скопировал уникальное значение флага, заказал Капибургер, там есть бесплатная позиция, при отправке на покупку перехватил и изменил в запросе значение бесплатной позиции на ун.номер флага. готово
перехватывал отправляемые запросы и увидел что у каждого передаются определенные уникальные значения, скопировал уникальное значение флага, заказал Капибургер, там есть бесплатная позиция, при отправке на покупку перехватил и изменил в запросе значение бесплатной позиции на ун.номер флага. готово
👍3💯3⚡1
Forwarded from Roman
по сорцам ld / bfd найти как считается buildid и сбрутить,
⚡1
Forwarded from Сергей Трифонов
Капибашня
1. Изучаем код, понимаем, что единственный способ получить флаг — поднять привилегии до администратора.
2. Находим зарегистрированную в SQLite функцию
3. Видим, что можно в качестве источника данных для импорта пользователей использовать БД SQLite.
4. Создаём БД malicious.db:
- в ней таблицу users (одного id хватит)
- добавляем единственную запись в таблицу
- и создаём view:
Загружаем файл, получаем администратора и флаг.
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;
Загружаем файл, получаем администратора и флаг.
🔥5⚡2
Forwarded from Marat
Капитальный ремонт
Веб-интерфейс позволяет отправить показания счетчиков, которые считываются с картинки через OCR.
Это потенциальное место для SQL-инъекции. Посмотрев структуру БД и место, куда вставляется нефильтруемое значение счетчика, отправляем такую картинку, которая запишет в показание счетчика значение адреса из аккаунта мэра Капибаровска с id=1.
Веб-интерфейс позволяет отправить показания счетчиков, которые считываются с картинки через OCR.
Это потенциальное место для SQL-инъекции. Посмотрев структуру БД и место, куда вставляется нефильтруемое значение счетчика, отправляем такую картинку, которая запишет в показание счетчика значение адреса из аккаунта мэра Капибаровска с id=1.
⚡1🔥1
Forwarded from Anton
КапИИбара (capaibar) writeup
1. Подключаемся, выбираем Ника Капифьюри, выбираем "Получить ключ переписки"
Ключ переписки
2. Для каждого байта ключа k[i] создаем массив возможных байт, запрашиваем постоянно ключ переписки и исключаем из массива байт
3. С помощью k шифруем сообщение "Hello, flag plz" и отправляем Нику Капифьюри. Получаем шифрованный флаг и расшифровываем.
Важно сохранять сессию и не отключаться, так как ключ генерится при старте приложения.
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] останется один элемент в списке получаем итоговый ключ k3. С помощью k шифруем сообщение "Hello, flag plz" и отправляем Нику Капифьюри. Получаем шифрованный флаг и расшифровываем.
Важно сохранять сессию и не отключаться, так как ключ генерится при старте приложения.
❤🔥2🔥2⚡1
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 команд выводим матрицу на экран в матричном виде (красиво, все символы по горизонтали и вертикали выровнены)
Если делать в питоне на винде, то будет тяжелее восприниматься , так как вывод на экран будет постоянно ниже предыдущего, но если пролистать потом быстро консоль, то можно увидеть будквы. Или делать красиво с каким-нибудь фронтом.
Смотрим 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 команд выводим матрицу на экран в матричном виде (красиво, все символы по горизонтали и вертикали выровнены)
Если делать в питоне на винде, то будет тяжелее восприниматься , так как вывод на экран будет постоянно ниже предыдущего, но если пролистать потом быстро консоль, то можно увидеть будквы. Или делать красиво с каким-нибудь фронтом.
🔥5⚡1❤1