Похек
16.4K subscribers
2.08K photos
110 videos
243 files
3.06K links
All materials published on the channel are for educational and informational purposes only.

Мнение автора ≠ мнение компании, где работает автор

Чат: @poxek_chat

Реклама: @PoxekAds_bot или
https://telega.in/c/poxek

РКН: https://clck.ru/3FsVhp
Download Telegram
Закрепление в Next.js через генерацию сессионных кук
#NextJS #next #react #js #React2Shell #RCE #AuthJS

Исследователь Embrace The Red продемонстрировал технику закрепления в next-auth (Auth.js), позволяющую генерировать валидные сессии в обход Identity Provider и обеспечивать персистентность даже при регулярной ротации OAuth-кредов. В начале цепочки используется небезызвестная React2Shell бага.

♾️Техническая суть♾️

В режиме JWT архитектура next-auth опирается на Stateless JWE (JSON Web Encryption). Валидность сессии определяется исключительно возможностью расшифровать токен на сервере.

Key Encryption Key генерируется через алгоритм HKDF, в качестве входных данных используя IKM (Input Keying Material, переменная окружения NEXTAUTH_SECRET) и Salt — дефолтное или кастомное имя куки (например, next-auth.session-token).

Утечка NEXTAUTH_SECRET позволяет атакующему локально воспроизвести процесс HKDF и зашифровать произвольный JSON-пейлоад, подменив sub, email, iat, exp. Сервер примет такой JWE-контейнер как легитимный, поскольку криптографическая целостность соблюдена, а сверка с базой данных или OAuth-провайдером для расшифрованных сессий архитектурно не требуется.

♾️Типичный пайплайн атаки♾️

▪️Атакующий эксплуатирует React2Shell и получает RCE.
▪️Дампит переменные окружения (env) и забирает NEXTAUTH_SECRET.
▪️С помощью скрипта на базе кода самой либы генерирует подписанную куку next-auth.session-token с нужными клеймами (Admin, UserID и т.д.).
▪️Подставляет куку в браузер и обеспечивает персистентность, даже если OAuth-креды сброшены.

♾️Защита♾️

▪️Обязательная ротация NEXTAUTH_SECRET и AUTH_SECRET при любом подозрении на компрометацию.
▪️Инвалидация всех активных сессий после ротации.
▪️Мониторинг дубликатов JTI (JWT ID) с разных IP-адресов.
▪️Детект аномальных полей в сессиях (странные User-Agent и т.п.).

🔗 Источник
🔗 GitHub

🌚 @poxek | 📲 MAX |🌚 Блог | 📺 YT | 📺 RT | 📺 VK
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83