Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

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

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
react2shell-scanner — Сканер для обнаружения наличия CVE-2025-55182 & CVE-2025-66478 на целевых веб-сервисах. | Kitploit
Инструменты/GitHubGitHub/shield-cyber/react2shell-scanner
Сканеры уязвимостейСканеры веб-уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на Проникновение
GitHubshield-cyber/react2shell-scanner

react2shell-scanner

Сканер для обнаружения наличия CVE-2025-55182 & CVE-2025-66478 на целевых веб-сервисах.

Репозиторий
1139 месяцев назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
# Сканер уязвимости React2Shell

Безопасный, неинвазивный сканер для обнаружения уязвимостей React Server Components (RSC) и удаленного выполнения кода в Next.js (CVE-2025-55182 и CVE-2025-66478).

## Обзор

Этот сканер помогает организациям определить, уязвимы ли их веб-сервисы для уязвимости React2Shell, которая затрагивает приложения, использующие React Server Components и Next.js. Уязвимость позволяет злоумышленникам выполнять удаленный код через специально сформированные multipart/form-data данные.

**Важно: Этот сканер использует только безопасные методы обнаружения по побочным каналам и не выполняет код на целевых системах.**

## Возможности

- **Безопасный метод обнаружения**
  - Обнаружение по побочным каналам с использованием поврежденных полезных нагрузок
  - Обнаруживает уязвимый парсинг RSC без выполнения кода
  - Безопасно для тестирования живых систем

- **Гибкие возможности сканирования**
  - Одиночный URL или массовое сканирование из файла
  - Многопоточное параллельное сканирование
  - Тестирование пользовательских путей (например, `/_next`, `/api`)
  - Поддержка пользовательских заголовков

- **Параметры вывода**
  - Цветной вывод в терминал
  - Экспорт в JSON для уязвимых хостов
  - Подробный режим для детального анализа
  - Тихий режим для автоматизации

## Установка

### Требования

- Python 3.9 или выше
- Менеджер пакетов pip

### Установка зависимостей

```bash
pip install -r requirements.txt
```

Или установите вручную:

```bash
pip install requests tqdm urllib3
```

## Использование

### Базовое сканирование

**Сканирование одного URL:**
```bash
python scanner.py -u https://example.com
```

**Сканирование нескольких хостов из файла:**
```bash
python scanner.py -l hosts.txt
```

### Расширенные опции

**Сканирование с пользовательскими путями:**
```bash
python scanner.py -u https://example.com --path /_next --path /api
```

**Сканирование с путями из файла:**
```bash
python scanner.py -u https://example.com --path-file paths.txt
```

**Пользовательские заголовки:**
```bash
python scanner.py -u https://example.com -H "Authorization: Bearer token" -H "X-Custom: value"
```

**Многопоточное сканирование:**
```bash
python scanner.py -l hosts.txt -t 20
```

**Экспорт результатов в JSON:**
```bash
python scanner.py -l hosts.txt -o results.json
```

**Экспорт всех результатов (включая не уязвимые):**
```bash
python scanner.py -l hosts.txt -o results.json --all-results
```

### Управление выводом

**Подробный режим (показывать детали для всех хостов):**
```bash
python scanner.py -l hosts.txt -v
```

**Тихий режим (показывать только уязвимые хосты):**
```bash
python scanner.py -l hosts.txt -q
```

**Отключить цвета:**
```bash
python scanner.py -l hosts.txt --no-color
```

## Форматы входных файлов

### Файл хостов (hosts.txt)

Один хост на строку. Строки, начинающиеся с `#`, игнорируются.

```
https://example.com
http://test.example.org
another-site.com
# This is a comment
```

### Файл путей (paths.txt)

Один путь на строку. Пути будут автоматически дополнены префиксом `/`, если он отсутствует.

```
/_next
/api
/actions
# Comment lines are ignored
```

## Параметры командной строки

| Опция | Описание |
|--------|-------------|
| `-u, --url URL` | Одиночный URL для сканирования |
| `-l, --list FILE` | Файл со списком хостов для сканирования |
| `-t, --threads N` | Количество параллельных потоков (по умолчанию: 10) |
| `--timeout N` | Тайм-аут запроса в секундах (по умолчанию: 10) |
| `-o, --output FILE` | Выходной файл для результатов (формат JSON) |
| `--all-results` | Сохранять все результаты, а не только уязвимые хосты |
| `-k, --insecure` | Отключить проверку SSL-сертификатов |
| `-H, --header HEADER` | Пользовательский заголовок (можно использовать несколько раз) |
| `-v, --verbose` | Подробный вывод (показывать детали для всех хостов) |
| `-q, --quiet` | Тихий режим (показывать только уязвимые хосты) |
| `--no-color` | Отключить цветной вывод |
| `--path PATH` | Пользовательский путь для тестирования (можно использовать несколько раз) |
| `--path-file FILE` | Файл со списком путей для тестирования |

## Логика обнаружения

### Безопасное обнаружение по побочным каналам

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

- Отправляет специально сформированную, не вредоносную полезную нагрузку multipart/form-data
- Вызывает ответы с ошибками при парсинге уязвимых RSC (React Server Components)
- Ищет несколько индикаторов уязвимости:

#### Шаблоны обнаружения

1. **Сообщения об ошибках JavaScript**
   - `SyntaxError` — Указывает на неправильный парсинг JSON данных формы
   - `Unexpected token` — Указывает на уязвимую десериализацию RSC
   - `ReferenceError` / `TypeError` — Раскрывает небезопасный доступ к свойствам объекта

2. **Специфичные для RSC ответы с ошибками**
   - Код состояния HTTP 500 с типом содержимого `text/x-component`
   - Присутствие заголовков RSC (`Vary: RSC`, `Next-Router-State-Tree`)
   - Дайджест ошибки в теле ответа (например, `{"digest":"..."}`)
   - Индикаторы полезной нагрузки RSC (`$@`, объекты ошибок)

Сканер обнаруживает как подробные сообщения об ошибках (старые версии), так и структурированные ответы с ошибками RSC (новые версии), обеспечивая всестороннее покрытие различных реализаций Next.js.

**Важно:** Этот метод НЕ выполняет код на целевой системе. Он только определяет, уязвима ли система, путем наблюдения за ответами с ошибками.

## Примеры рабочих процессов

### Быстрая проверка одного приложения

```bash
python scanner.py -u https://myapp.com
```

### Комплексное сканирование организации

```bash
# Create hosts file with all your domains
python scanner.py -l organization-hosts.txt -t 20 -o scan-results.json
```

### Сканирование нескольких путей

```bash
# Create paths.txt with common Next.js endpoints
python scanner.py -l hosts.txt --path-file paths.txt -o results.json
```

### Сканирование с заголовками аутентификации

```bash
python scanner.py -u https://myapp.com -H "Cookie: session=abc123" -H "Authorization: Bearer token"
```

## Интерпретация результатов

### Статус уязвимости

Сканер пометит хост как **УЯЗВИМЫЙ**, если обнаружит:

- Ошибки синтаксиса, указывающие на уязвимый парсинг RSC
- Ошибки неожиданного токена при обработке данных формы
- Ошибки ссылок или типов, раскрывающие небезопасный доступ к свойствам
- Ошибки HTTP 500 с заголовками и содержимым, специфичными для RSC
- Дайджесты ошибок в формате ответа RSC
- Характерные шаблоны ошибок из уязвимых реализаций Next.js/RSC

### Что означает «Уязвимый»?

Когда сканер обнаруживает уязвимость, это означает:

1. **Сервер обрабатывает поврежденные полезные нагрузки RSC** — Он принимает и пытается парсить специально сформированные данные формы как React Server Components
2. **Неправильная проверка входных данных** — Приложение не проверяет должным образом multipart/form-data данные перед обработкой
3. **Потенциал для RCE** — В уязвимых конфигурациях злоумышленники могут использовать это для удаленного выполнения кода
4. **Векторы загрязнения прототипа** — Слабость парсинга может быть использована для атак загрязнения прототипа

### Уровень риска

- **КРИТИЧЕСКИЙ**: Серверы, показывающие ответы с ошибками RSC, активно обрабатывают вредоносные полезные нагрузки
- **Воздействие**: Удаленное выполнение кода, кража данных, компрометация сервера
- **Эксплуатируемость**: Существуют публично известные эксплойты

### Коды выхода

- `0`: Уязвимостей не найдено
- `1`: Обнаружена одна или несколько уязвимостей

## Соображения безопасности

1. **Разрешение**: Сканируйте только те системы, которые вам принадлежат, или на тестирование которых у вас есть явное разрешение
2. **Безопасное обнаружение**: Этот сканер использует только безопасное обнаружение по побочным каналам и никогда не выполняет код
3. **Ограничение скорости**: Настройте количество потоков (`-t`), чтобы избежать перегрузки целей
4. **Проверка SSL**: Оставляйте проверку SSL включенной, если это не необходимо для тестирования
5. **Безопасно для продакшена**: Сканер предназначен для безопасного использования на производственных системах

## Меры по смягчению

Если ваше приложение признано уязвимым:

1. **Немедленные действия:**
   - Обновите Next.js до последней исправленной версии
   - Проверьте и обновите все React Server Components
   - Внедрите проверку входных данных для данных формы

2. **Долгосрочная безопасность:**
   - Включите правила WAF для блокировки подозрительных multipart-полезных нагрузок
   - Отслеживайте необычные запросы к серверным действиям
   - Реализуйте заголовки безопасности
   - Регулярные аудиты безопасности

3. **Ссылки:**
   - [CVE-2025-55182](https://nvd.nist.gov/vuln/detail/CVE-2025-55182)
   - [CVE-2025-66478](https://nvd.nist.gov/vuln/detail/CVE-2025-66478)


## Отказ от ответственности

Этот инструмент предназначен только для авторизованного тестирования безопасности. Несанкционированный доступ к компьютерным системам является незаконным. Авторы не несут ответственности за неправильное использование или ущерб, причиненный этой программой.
Скачать инструмент