Forwarded from Сергей Руденко ☭Серп☭
#капибады
в интернете находим сайт КапиПродай, на нем нет ни какой информации
Начинаем искать в интернете по запросу: "Капибады с КапиПродай" и находит канал в тг с озывами
На одной из фотографий видим надпись что писать надо на основной аккаунт.
изучив аккаунт по фотографии в яндексе(по обоям и картинам) находим подходящее помещение, на фото смотрим что за помещение, и копируем его координаты. Вставляем их на сайт капиполиции и задача решена
в интернете находим сайт КапиПродай, на нем нет ни какой информации
Начинаем искать в интернете по запросу: "Капибады с КапиПродай" и находит канал в тг с озывами
На одной из фотографий видим надпись что писать надо на основной аккаунт.
изучив аккаунт по фотографии в яндексе(по обоям и картинам) находим подходящее помещение, на фото смотрим что за помещение, и копируем его координаты. Вставляем их на сайт капиполиции и задача решена
💯2⚡1🔥1
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