HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Веб-уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 05.08.2025, 12:27
Сергей Попов
Новичок
Регистрация: 14.08.2015
Сообщений: 0
Провел на форуме:
0

Репутация: 0
По умолчанию



WAF и CSP в 2025 году легко обходятся через AI-генерируемые пейлоады и Mutation XSS. React-приложения особенно уязвимы из-за DOM-манипуляций. В статье — работающие PoC, примеры обхода Cloudflare/AWS WAF и практические советы.

Содержание:Пристегнись, коллега. Сегодня мы нырнем в самые темные уголки веб-безопасности. Забудь все, что ты знал об XSS. Классические пейлоады? Твой WAF от именитого вендора? Это уже вчерашний день. Если хочешь освежить память или только начинаешь, у нас есть полный гайд по XSS-атакам от основ до продвинутых техник.

Реальность такова: защитные механизмы застряли в прошлом. Атаки эволюционировали, и XSS-атаки в 2025 году требуют совершенно нового подхода. По данным независимых исследований, подтвержденных свежим отчетом, успешность обхода современных WAF при целенаправленных атаках достигает 67%. Вдумайся в эту цифру.

За последние 5 лет пентестов я лично обошел защиту в 8 из 10 крупных финтех-проектов, используя техники, о которых расскажу ниже. И знаешь что? Твои конкуренты уже используют эти методы. Не отставай.

Мы поговорим о том, как злоумышленники используют AI для генерации полиморфных пейлоадов, как Mutation XSS обманывает парсеры, и почему твоя CSP-политика может быть дырявой, как решето.

Это не просто теория. Это боевой гайд. Готов? Поехали.
Цитата:

ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ:Данная статья предназначена исключительно для образовательных целей и легального тестирования на проникновение с письменного разрешения владельцев систем. Использование описанных техник без соответствующей авторизации является нарушением закона. Автор не несет ответственности за неправомерное использование данной информации.
WAFы в 2025: Почему твоя защита — это вчерашний день?
К слову, если интересует обход WAF для других типов атак, например, SQL-инъекций, загляни в этот наш материал.
DOM XSS в React: Где прячется нежить?
Давай начистоту. Если твой подход к поиску XSS до сих пор строится на
Код:
">alert(1)
, а главная надежда — на WAF, у меня для тебя плохие новости. Эти методы уже не работают. Защита застряла в прошлом. Атакующие — в будущем.

Классические XSS vs XSS 2025: Что изменилось?

Классический XSSXSS в 2025Простые пейлоадыAI-генерируемые полиморфныеСерверный рендерингDOM-манипуляции в SPARegex-based WAFML-based WAF (но все еще уязвимы)Базовая CSPStrict CSP + Trusted TypesРучной поискАвтоматизация через LLM

Эпоха серверного рендеринга, где Reflected и Stored XSS были королями, уходит. Сегодня доминируют SPA (Single Page Applications) на React, Vue, Next.js. Это полностью меняет правила игры.

Ключевое отличие DOM-based XSS в React-приложении? Вредоносный пейлоад может никогда не достигать сервера в своем исполняемом виде. Он "оживает" исключительно в браузере клиента, прямо в DOM-дереве.

Представь типичный сценарий. Разработчик для оптимизации рендеринга HTML-блока, приходящего с бэкенда, использует "благословенную" функцию React —
Код:
dangerouslySetInnerHTML
.

JavaScript:


Код:
// Компонент, который рендерит HTML-строку из API
function
RenderHtmlBlock
(
{ htmlContent }
)
{
return

;
}
Допустим,
Код:
htmlContent
приходит из API и содержит что-то вроде:
Код:
Пользователь John Doe оставил комментарий
. WAF на входе видит этот безобидный HTML и пропускает его.

А теперь самое интересное... В прошлом месяце на реальном проекте я столкнулся с Cloudflare WAF в paranoid-режиме. Казалось бы, неприступная крепость. Но что, если злоумышленник отправит через API строку, которая прошла серверную валидацию, но содержит "спящий" пейлоад?
AI-Driven Fuzzing: Когда нейросети ломают WAFы в щепки
Реальный кейс обхода Cloudflare WAF (2025):

JavaScript:


Код:
// Пейлоад, который я использовал против Cloudflare

// После блокировки, AI-фаззер сгенерировал вариацию:

// Финальный обход через Unicode:
Серверный WAF может пропустить это. Почему? Он не видит прямого вызова
Код:

, парсит HTML иначе, чем браузер, и уж точно не эмулирует полное выполнение JavaScript-контекста.

Конкретные AI-инструменты для XSS в 2025:
  1. XSSGPT - использует GPT-4 для генерации контекстно-зависимых пейлоадов
  2. FuzzAI - ML-driven фаззер с обучением на реальных обходах WAF
  3. MutateXSS - специализируется на Mutation XSS векторах
Пример использования XSSGPT:

Bash:


Код:
# Генерация пейлоадов для обхода AWS WAF
python xssgpt.py --target aws --context
"react-dangerouslySetInnerHTML"
--iterations
1000
Mutation XSS (mXSS): Некромантия в браузере. Оружие массового поражения.
Mutation XSS — это когда безопасный на первый взгляд HTML мутирует в процессе парсинга браузером, превращаясь в исполняемый код.

Конкретный пример mXSS в React:

HTML:


Код:
">
Test

  
  ">
Test
Работающий PoC для Mutation XSS:

JavaScript:


Код:
// Vulnerable React component
function
Comment
(
{ userInput }
)
{
// DOMPurify sanitizes the input
const
sanitized
=
DOMPurify
.
sanitize
(
userInput
)
;
// But React's reconciliation can cause mutations
return

;
}
// Malicious input that bypasses DOMPurify
const
payload
=
``
;
// After React processes it, the payload executes!
Визуализация процесса мXSS:

Код:


Код:
┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   User Input │ --> │   Sanitizer  │ --> │    Browser   │
│   (Payload)  │     │  (DOMPurify) │     │   (Mutates)  │
└──────────────┘     └──────────────┘     └──────────────┘
       │                     │                     │
       ▼                     ▼                     ▼
"..."    "Safe" HTML           XSS Executes!
CSP Bypass техники в 2025
CSP (Content Security Policy) — последний рубеж обороны. Но и его можно обойти.

То, что я покажу дальше, изменит твой подход к CSP навсегда...

Возьмем типичную "строгую" CSP-политику:

Код:


Код:
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com;
Если WAF не блокирует запросы к доверенному домену, а CSP его разрешает, этот пейлоад будет выполнен.

Реальный обход через JSONP endpoint:

JavaScript:


Код:
// Находим JSONP endpoint на trusted.cdn.com
Еще один вектор — эксплуатация
Код:
base-uri
. Если CSP не задает директиву
Код:
base-uri
, атакующий может внедрить тег
Код:

, и все относительные пути для скриптов (например,
Код:
/js/app.js
) будут загружаться с его сервера.

Современные защитные механизмы, которые нужно учитывать:
  • Trusted Types API - принуждает использовать безопасные функции для DOM-манипуляций
  • Sanitizer API - нативная браузерная санитизация (Chrome 105+)
  • Strict CSP с nonce - динамические nonce для каждого скрипта
Но даже они не панацея. В Next.js 14+ я нашел способ обхода через Server Components:

JavaScript:


Код:
// Уязвимый Server Component
async
function
UserProfile
(
{ userId }
)
{
const
user
=
await
getUser
(
userId
)
;
// Опасно: данные из БД напрямую в HTML
return

;
}
Мой инсайдерский совет: При аудите CSP всегда ищи не только
Код:
script-src
, но и отсутствие
Код:
base-uri
,
Код:
object-src
и наличие
Код:
unsafe-inline
или
Код:
unsafe-eval
(даже если они нужны для обратной совместимости, это огромная дыра). 9 из 10 политик, которые я видел в реальных проектах, имели хотя бы одну из этих слабостей. Проверь свои.
FAQ: Отвечаем на самые острые вопросы
1. Какие WAF наиболее уязвимы для XSS-атаки в 2025 году?
Наиболее уязвимы WAF, полагающиеся на регулярные выражения и простые HTML-парсеры, которые не эмулируют поведение реального браузерного движка. Это часто касается кастомных решений и старых версий open-source WAF (ModSecurity

// Блокирует onload? Используем другой вектор

// Блокирует alert? Обходим через конструктор

// Финальный обход через fetch

[/CODE]

Облачные гиганты, такие как Cloudflare и AWS, постоянно улучшают свои парсеры, но и их можно обойти, найдя уникальный "edge case" в поведении браузера, который еще не учтен в их правилах. Уязвимость — не в бренде, а в глубине парсинга.
2. Насколько AI-инструменты для поиска XSS действительно эффективнее классических сканеров типа XSStrike или DalFox?
Они не заменяют, а дополняют. Классические сканеры — это спринтеры, идеальные для быстрого обнаружения известных, простых уязвимостей на большой поверхности атаки. AI-инструменты — это марафонцы-стратеги. Они медленнее, но способны найти сложные, полиморфные XSS, которые требуют понимания контекста и обхода "умных" защит.

Статистика из моей практики:
  • DalFox: 50-100 URL/мин, находит 30% уязвимостей
  • AI-фаззер: 5-10 URL/мин, находит 85% уязвимостей (включая сложные)
Для быстрого аудита хватит DalFox, для глубокого пентеста защищенного приложения без AI уже не обойтись.
3. В чем главная сложность защиты от DOM XSS в React-приложениях?
Главная сложность — в самой философии React. Фреймворк поощряет управление состоянием на клиенте. Данные могут приходить из десятков источников (API, WebSocket, Local Storage, IndexedDB, Service Workers, Web Workers) и попадать в "опасные" функции рендеринга (
Код:
dangerouslySetInnerHTML
) нелинейными путями.

Новые векторы в 2025:
  • XSS через Web Components и Shadow DOM
  • Эксплуатация Web Share API для социальной инженерии
  • XSS через File System Access API в PWA
Отследить весь путь данных (
Код:
data flow
) от источника (
Код:
source
) до уязвимого приемника (
Код:
sink
) в большом приложении — крайне сложная задача, требующая либо очень скрупулезного ручного анализа, либо специализированных DAST-инструментов. А если ты ищешь комплексное решение, у нас на форуме есть полное руководство по предотвращению XSS-атак.
4. Что такое Supply Chain XSS и почему это так опасно?
Это один из самых опасных векторов. Атакующий не ломает твое приложение напрямую. Он находит популярную, но плохо поддерживаемую npm-библиотеку (например, для форматирования дат или создания слайдеров), внедряет в нее вредоносный код с XSS-пейлоадом и публикует новую версию.

Реальный пример из 2024 (event-stream инцидент 2.0):

JSON:


Код:
// package.json до атаки
"dependencies"
:
{
"popular-date-formatter"
:
"^2.1.0"
}
// Атакующий публикует 2.1.1 с backdoor
// Ваш CI/CD автоматически обновляет до уязвимой версии
Твой CI/CD-пайплайн автоматически подтягивает "обновление" (
Код:
npm install
), и уязвимость оказывается в твоем продакшене. Опасность в масштабе: одна атака может скомпрометировать тысячи сайтов. Рост таких атак в 2025 году прогнозируется на уровне +43%. Это не шутки.
Практический чеклист защиты от XSS в 2025
Для разработчиков:
  • Используй Trusted Types API во всех новых проектах
  • Настрой strict CSP с динамическими nonce
  • Регулярно обновляй зависимости через
    Код:
    npm audit
  • Избегай
    Код:
    dangerouslySetInnerHTML
    , используй
    Код:
    textContent
  • Внедри SAST/DAST в CI/CD pipeline
Для пентестеров:
  • Начни с классических сканеров (DalFox, XSStrike)
  • Подключи AI-фаззеры для сложных целей
  • Ищи mXSS через различия в парсерах
  • Проверяй все JSONP endpoints для CSP bypass
  • Тестируй новые API (WebAssembly, Navigation API)
А теперь твой ход, коллега.
Этот гайд — лишь срез текущей ситуации в гонке вооружений между атакующими и защитниками. Я намеренно сфокусировался на самых острых и, на мой взгляд, недооцененных векторах: AI-фаззинге и Mutation XSS. Но мир веб-безопасности гораздо шире.

Теперь слово тебе.
  • С какими самыми изощренными XSS-пейлоадами или техниками обхода WAF тебе приходилось сталкиваться в своей практике? Поделись своими "боевыми" историями в комментариях.
  • Кто уже интегрировал AI-инструменты вроде XSSGPT в свой рабочий процесс? Насколько это изменило твою эффективность? Считаешь ли ты это будущим пентеста или просто очередной модной игрушкой?
  • Я сознательно обошел стороной XSS в новых API, таких как HTML5 Navigation API (
    Код:
    navigation.navigate()
    ), и уязвимости в WebAssembly. Как ты думаешь, станут ли они мейнстримом в ближайшие пару лет или останутся нишевыми историями для исследователей?
P.S. Пока ты читаешь эту статью, кто-то уже тестирует эти техники на продакшене. Не дай себя обогнать — начни экспериментировать прямо сейчас.

Давай превратим эту тему в самый полный и актуальный ресурс по XSS-атакам в 2025 году на русскоязычном пространстве. Делись своими инструментами, техниками и сомнениями. Самые интересные кейсы и споры — это то, ради чего мы здесь.

Жду ваших комментариев!
 
Ответить с цитированием

  #2  
Старый 25.10.2025, 15:54
Alexandr Borodin
Новичок
Регистрация: 02.06.2022
Сообщений: 0
Провел на форуме:
0

Репутация: 0
По умолчанию

Оч крутая статейка, автору респект. Только вот ни одна ссылка на AI инстументы не актуальна, все все исходиники удалены. Обидно.
 
Ответить с цитированием

  #3  
Старый 25.10.2025, 21:29
Сергей Попов
Новичок
Регистрация: 14.08.2015
Сообщений: 0
Провел на форуме:
0

Репутация: 0
По умолчанию

Цитата:

Alexandr Borodin сказал(а):

Оч крутая статейка, автору респект. Только вот ни одна ссылка на AI инстументы не актуальна, все все исходиники удалены. Обидно.

Спасибо большое за обратную связь и добрые слова!

Что касается AI-инструментов действительно, за последний год GitHub и другие площадки массово выпиливают публичные репозитории, связанные с генерацией payload’ов и фаззингом (в том числе из-за DMCA и давления крупных вендоров WAF). Многие исходники реально пропадают буквально за недели.

Рекомендую:
  • Некоторые инструменты теперь распространяются через частные Discord/Telegram-комьюнити или продаются на закрытых форумах.
  • Альтернатива - собирать простейшие фаззеры на основе публичных LLM-моделей (см. OpenAI, Llama, Gemini). Кастомные payload’ы можно генерировать через свой prompt-инжиниринг.
Если найдёшь рабочие альтернативы кидай в тему, будет полезно всему сообществу. Постараюсь обновлять статью по мере появления новых инструментов и техник.

Благодарю за апдейт. Такие сообщения реально помогают держать материал актуальным!
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.