Мой очень карикатурный сосед, пьяный в стельку, рассказывал байки о том, как какие-то типы брили казино в Сочи на сотни лямов. Ну, вы знаете, вот эти классические истории про какого-то мифического чела, которого больше ни в одно казино не пускают. Естественно, никакой конкретики.
Якобы, есть какая-то последовательность: типа, крутишь, ждешь полминуты, повышаешь или понижаешь ставку, еще три минуты ждешь, и тут автомат начинает осыпать тебя деньгами. Я даже всерьез размышлять над этим не хочу, вопросов к этой схеме уйма. 😂
Но! Как-то раз он мне говорит: Ты ж хакер, можешь взломать мне казино? Я, естественно, отшутился, мол, если бы я мог, нахуй ты мне сдался в этом деле? 😂
Честно говоря, я сам бесконечно далек от всей этой лудомании, никогда даже не пробовал. Но мне стало интересно: это же веб-сервис, а значит, он потенциально уязвим для всех тех атак, что и любые другие сайты.
И вот тут выяснилось, что... да, действительно могу! 😂 Плюс ачивка. Главное ему не говорить))0
Якобы, есть какая-то последовательность: типа, крутишь, ждешь полминуты, повышаешь или понижаешь ставку, еще три минуты ждешь, и тут автомат начинает осыпать тебя деньгами. Я даже всерьез размышлять над этим не хочу, вопросов к этой схеме уйма. 😂
Но! Как-то раз он мне говорит: Ты ж хакер, можешь взломать мне казино? Я, естественно, отшутился, мол, если бы я мог, нахуй ты мне сдался в этом деле? 😂
Честно говоря, я сам бесконечно далек от всей этой лудомании, никогда даже не пробовал. Но мне стало интересно: это же веб-сервис, а значит, он потенциально уязвим для всех тех атак, что и любые другие сайты.
И вот тут выяснилось, что... да, действительно могу! 😂 Плюс ачивка. Главное ему не говорить))0
Forwarded from KGM's notes
Telegram_WebApp.pdf
739.6 KB
Некоторое время назад состоялась публикация моей первой статьи на Хакере: "
К данному посту я прикладываю pdf-файл с более подробным описанием нюансов использованияTelegram Web App (или Telegram Mini Apps) в фишинговых кампаниях
OTP — не проблема! Прокачиваем фишинг при помощи дыры в Exchange, Telegram-бота и Evilginx2" - по мотивам моего кейса, занявшего 1 место на Awillix Pentest Awards 2025 в номинации "Ловись рыбка". К данному посту я прикладываю pdf-файл с более подробным описанием нюансов использованияTelegram Web App (или Telegram Mini Apps) в фишинговых кампаниях
Forwarded from HaHacking
ℹ️ Ремарка о том, как работают платежи в Telegram⬇️ 🔗 core.telegram.org/bots/payments🔗 core.telegram.org/bots/payments-stars0️⃣ Пользователь запускает процесс оплаты1️⃣ Telegram на клиентской стороне проверяет баланс пользователя:
▪️ не хватает – говорит пополнить
▪️ достаточно* – шлёт боту статусpre_checkout_query2️⃣ Бот обязан ответить наpre_checkout_queryв течение 10 секунд, если он готов предоставить товар / услугу, иначе – отмена3️⃣ Производится оплата4️⃣ Telegram шлёт боту чек со статусомsuccessful_payment
*Что такое достаточно?Это либо "хватает звёзд", либо "платит картой" (но на этом этапе неизвестно, есть ли деньги на карте)
Есть такой неофициальный Telegram клиент – exteraGram – и он предоставляет пользователям возможность дополнять свою функциональность кастомными плагинами, написанными на Python;
Некоторые такие плагины позволяли рисовать себе любое количество звёзд, генерировать поддельную "успешную" оплату и, если включить специальный режим, автоматически рисовать звёзды обратно после покупок.
...
from org.telegram.tgnet.tl import TL_stars
...
StarsController = find_class("org.telegram.ui.Stars.StarsController").getClass()
...
class Plugin(BasePlugin):
DEFAULT_BALANCE = 999999
SETTINGS_INFINITE = "infinite_mode"
...
def _handle_payment(self, response, error):
...
# Create fake success response
TL_payments_paymentResult = find_class("org.telegram.tgnet.TLRPC$TL_payments_paymentResult")
TL_updates = find_class("org.telegram.tgnet.TLRPC$TL_updates")
...
return HookResult(strategy=HookStrategy.MODIFY_FINAL, response=fake_result)
...
...
class _GetBalanceHook(MethodReplacement):
...
def replace_hooked_method(self, param):
...
# Return fake balance
return self._create_stars_amount(self.plugin.balance)
def _create_stars_amount(amount):
# Create StarsAmount object
try:
return TL_stars.StarsAmount.ofStars(int(amount))
...
...
Естественно, нарисованные звёзды не могут быть использованы для успешной оплаты товаров и услуг. Они нужны, чтобы хвастаться перед друзьями
successful_payment, а отдают товар / услугу уже на этапе pre_checkout_query, несмотря на официальную документацию. Ну а просто действительно, чего мы ждём, если оплата только в звёздах, да и звёзды уже лежат на столе?Те, кто подсуетились – зачистили магазины и накупили подписок, набрали себе аккаунтов, авторегов и всего подряд на миллионы (!) звёзд, а учитывая, что многие услуги подразумевают также денежные затраты со стороны продавца (например, те же API вызовы к LLM) – на много чужих денег; Благо разработчики ботов тоже подсуетились и многих перебанили.
@HaHacking
Please open Telegram to view this post
VIEW IN TELEGRAM
Мой путь в хакинг начался с игры. Это была корейская онлайн-MMORPG, в которую я начал играть примерно в 2012 году. Сейчас в вебе всё просто: есть Burp Suite, человекочитаемый протокол HTTP... Но тогда я почти не понимал, что такое клиент-серверное взаимодействие.
Мой первый хак случился, когда я нашёл в памяти процесса координаты X, Y, Z своего персонажа. Каково же было моё удивление, когда, изменив эти значения, я мгновенно переместил его в другую точку! Позже я изучил язык AutoIt и написал свой первый трейнер, который мог запоминать текущие координаты и телепортироваться по клику мыши.
Были, например, подземелья по типу King's Raid: нужно было бежать до босса минут 30, убивая по пути толпы крипов, а весь ценный лут находился именно у босса. Так вот, мы телепортировались прямиком к нему, не теряя времени. Но это были просто шалости.
Потом я стал глубже изучать, как клиент сообщает серверу о моих действиях — покупке, продаже, удалении предметов, и где хранится эта информация. Как раз тогда мне попалась статья о состоянии гонки (race condition). Я понял концепцию и очень вдохновился. Я даже представлял, в каком месте системы возможна такая уязвимость, но больше всего времени ушло на написание собственного TCP-прокси, чтобы перенаправить в него трафик с клиента.
Затем начался разбор летающей бинарщины. После месяцев проб и ошибок мне удалось найти и заэксплойтить состояние гонки для функции «положить предмет на склад». Я дублировал вещи — и это был мой первый по-настоящему осознанный хак.
Мой первый хак случился, когда я нашёл в памяти процесса координаты X, Y, Z своего персонажа. Каково же было моё удивление, когда, изменив эти значения, я мгновенно переместил его в другую точку! Позже я изучил язык AutoIt и написал свой первый трейнер, который мог запоминать текущие координаты и телепортироваться по клику мыши.
Были, например, подземелья по типу King's Raid: нужно было бежать до босса минут 30, убивая по пути толпы крипов, а весь ценный лут находился именно у босса. Так вот, мы телепортировались прямиком к нему, не теряя времени. Но это были просто шалости.
Потом я стал глубже изучать, как клиент сообщает серверу о моих действиях — покупке, продаже, удалении предметов, и где хранится эта информация. Как раз тогда мне попалась статья о состоянии гонки (race condition). Я понял концепцию и очень вдохновился. Я даже представлял, в каком месте системы возможна такая уязвимость, но больше всего времени ушло на написание собственного TCP-прокси, чтобы перенаправить в него трафик с клиента.
Затем начался разбор летающей бинарщины. После месяцев проб и ошибок мне удалось найти и заэксплойтить состояние гонки для функции «положить предмет на склад». Я дублировал вещи — и это был мой первый по-настоящему осознанный хак.
У меня еще огромная ностальгия по форумам. Невероятно ламповое было время. Я пришел на один из читерских форумов совсем нубом, задавал кучу вопросов, и мне охотно подробно расписывали, что и как работает. Помню, как один чел связался со мной в скайпе, шерил экран и на примере своей тулзы (которая, на минуточку, была платной и довольно успешной) объяснял мне принципы работы. А после вообще дал исходники, чтобы я учился
Интересный вектор (надеюсь у вас есть подписка на хакер 🙂)
https://xakep.ru/2025/11/12/1click-mobile-ato/
https://xakep.ru/2025/11/12/1click-mobile-ato/
xakep.ru
ATO в один клик. Как я нашел простой способ захватывать аккаунты в мобильном приложении
Сегодня я расскажу про один необычный случай из моего опыта участия в программах багбаунти. Но изнуряющего исследования и жесткого реверса в этот раз не будет — все самое интересное оказалось прямо на поверхности, нужно было только хорошенько присмотреться.
Forwarded from вольтаж
file://localhost/etc/passwd что вернёт?
В RFC 8089, верный формат протокола описан как
file://<host>/<path>, в то время как все шпоры на LFR при SSRF говорят лишь о file:///<path>Причём, в
<host> возможно вписать домен. Система резолвнет его, и если тот указывает на 127.0.0.1, то вернётся содержимое файла. В противном случае получишь лишь отстук в DNS. питон пок
from urllib.request import urlopen
content = urlopen(
"file://yoogle.com/etc/passwd", timeout=2,
).read().decode('utf-8')
print(content)
Представил сколько возможностей для обхода фильтров? И это не последний твой приступ FOMO за сегодня.
В статье The Minefield Between Syntaxes от @yeswehack, автор вскрывает проблемы разных синтаксисов и как парсеры выживают с ними.
Представим, ты нашёл SSTI, но WAF блокирует символ$
Что делать?
Неприятно, но не критично, ведь в Python / Perl возможно представить символ через
\N{CHARACTER NAME}. Пример обхода фильтра
\N{dollar sign}{7*7} == ${7*7} == 49Уже на стену лезешь? Погоди, я с тобой ещё не закончил.
Давай дальше по загрузке файлов. Видел же в
Content-Disposition есть параметр filename?В RFC 6266 описан базовый подход с именем файла, но RFC 8187 вышибает дверь с... чего.. какие юникод байты
# RFC 6266
filename="image.png"
# RFC 8187
filename*=UTF8''image%0a.png
RFC 8187 вводит новые правила для
filename параметра, включая поддержку всего Unicode + способности кодировать произвольные байты через % То есть, ты можешь закодировать перенос строки (
%0a == \n) и всячески ломать как парсинг имени файла, так и куда тот запишется. . . .
FOMO карусель закрыта.
Как восстановишь силы, пробегись по статье автора ради:
⚀ разбор CVE из-за проблем синтаксиса [^]
⚀ кейс бб, из cache poisoning в stored xss через пролом валидации parse_url в PHP [^]
⚀ кейс бб, из слепого чтения файлов через SSRF в arbitrary file read [^]
Затем разнеси CTF по ресерчу
1. обход фильтров SSTI [^]
2. иной подход к протоколу file:// [^]
3. проломparse_urlв PHP [^]
#web #waf_bypass
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Заметки Слонсера (Slonser)
https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
React UNAUTH RCE
CVSS 10
По патчу успел понять в чем проблема (PoC пока пишу)
Уже сейчас могу сказать что похоже действительно уязвимы прям стандартные версии
То есть разработчику не нужно даже написать стремный код / использовать конкретный модуль
Достаточно написать:
То есть имеем очень страшное RCE by default на миллионах сайтов
Реверсим патч и лутаем миллионы на багбаунти...
React UNAUTH RCE
CVSS 10
По патчу успел понять в чем проблема (PoC пока пишу)
Уже сейчас могу сказать что похоже действительно уязвимы прям стандартные версии
То есть разработчику не нужно даже написать стремный код / использовать конкретный модуль
Достаточно написать:
npx create-next-app
То есть имеем очень страшное RCE by default на миллионах сайтов
Реверсим патч и лутаем миллионы на багбаунти...
This media is not supported in your browser
VIEW IN TELEGRAM
рабочий PoC CVE-2025-55182 подвез maple3142
https://gist.github.com/maple3142/48bc9393f45e068cf8c90ab865c0f5f3
https://gist.github.com/maple3142/48bc9393f45e068cf8c90ab865c0f5f3
Forwarded from wr3dmast3r vs pentest
Данный материал подготовлен мной совместно с моим учеником для всех, кто пытается начать свой путь в области безопасности веб-приложений ☺️
На мой взгляд, PortSwigger является фаворитом среди всех обучающих материалов по информационной безопасности, и мне бы хотелось, чтобы вы в первую очередь пользовались именно бесплатными источниками знаний, а не платили за сомнительные курсы. Тем более, что большинство курсов на русском языке и так заимствуют значительную часть материалов, представленных здесь🤓
Дальнейшее развитие репозитория возможно с вашей помощью: каждый из вас может внести вклад, добавляя решения лабораторных работ. Со своей стороны я буду по мере сил пополнять разделы, и вместе мы сделаем вход в изучение веб-безопасности бесплатным и доступным для каждого🎧
Подробнее
На мой взгляд, PortSwigger является фаворитом среди всех обучающих материалов по информационной безопасности, и мне бы хотелось, чтобы вы в первую очередь пользовались именно бесплатными источниками знаний, а не платили за сомнительные курсы. Тем более, что большинство курсов на русском языке и так заимствуют значительную часть материалов, представленных здесь
Дальнейшее развитие репозитория возможно с вашей помощью: каждый из вас может внести вклад, добавляя решения лабораторных работ. Со своей стороны я буду по мере сил пополнять разделы, и вместе мы сделаем вход в изучение веб-безопасности бесплатным и доступным для каждого
Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM