Sploitus

Exploit for RSC-Scanner-POC

kitploit · 2026-08-27

Exploit Code

MARKDOWN287 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-OMAIDNEBARI-RSC-SCANNER-POC
# Сканер раскрытия исходного кода Next.js RSC

Сканер безопасности для обнаружения уязвимости CVE-2025-55183 – раскрытия исходного кода Next.js React Server Components (RSC).

## Описание

Данный сканер обнаруживает раскрытие исходного кода в Next.js React Server Components (RSC). Вредоносный HTTP-запрос, отправленный на уязвимую серверную функцию, может небезопасно вернуть исходный код любой серверной функции, если аргумент преобразуется в строку.

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

  * 🔍 **Автоматическое сканирование** : Сканирует отдельные URL-адреса или списки хостов
  * ⚡ **Параллельное сканирование** : Многопоточное сканирование для ускорения работы
  * 🔄 **Логика повторных попыток** : Автоматические повторы с экспоненциальной задержкой при временных ошибках
  * 📊 **Несколько форматов вывода** : Текстовый, JSON и CSV форматы
  * 🚦 **Ограничение скорости** : Настраиваемое ограничение запросов во избежание перегрузки целей
  * 📈 **Индикаторы прогресса** : Визуальные полосы прогресса для длительных сканирований
  * 🎭 **Ротация User-Agent** : Случайная ротация User-Agent для обхода обнаружения
  * 🔇 **Режимы подробного вывода** : Несколько уровней детализации для отладки



## Установка

### Предварительные требования

  * Python 3.7 или выше



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

root@kitploit:~
    
    
    pip install -r requirements.txt
    

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

root@kitploit:~
    
    
    pip install requests urllib3 tqdm
    

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

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

root@kitploit:~
    
    
    # Сканировать один URL
    python3 scanner.py https://example.com
    
    # Сканировать из файла со списком хостов
    python3 scanner.py hosts.txt
    

### Формат списка хостов

Создайте текстовый файл с одним хостом на строку. Сканер извлекает имя хоста из первого столбца (поддерживает ввод с разделителями табуляции или пробелами):

root@kitploit:~
    
    
    example.com          192.0.2.1        Cloudflare
    subdomain.example.com 192.0.2.2        Cloudflare
    https://app.example.com
    

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

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

root@kitploit:~
    
    
    positional arguments:
      input                 Целевой URL или файл со списком хостов
    
    optional arguments:
      -h, --help           Показать справку и выйти
      -t TIMEOUT, --timeout TIMEOUT
                           Тайм-аут запроса в секундах (по умолчанию: 10)
      -o OUTPUT, --output OUTPUT
                           Файл для вывода результатов
      --format {text,json,csv}
                           Формат вывода (по умолчанию: text)
      --threads THREADS    Количество параллельных потоков (по умолчанию: 1)
      --delay DELAY        Задержка между запросами в секундах (по умолчанию: 0.5)
      --rate-limit RATE_LIMIT
                           Запросов в секунду на один хост (0 для отключения, по умолчанию: 10.0)
      --retries RETRIES    Количество повторных попыток для невыполненных запросов (по умолчанию: 3)
      -v, --verbose        Увеличить подробность вывода (-v, -vv, -vvv)
      -q, --quiet          Подавить несущественный вывод
    

### Примеры

#### Параллельное сканирование

root@kitploit:~
    
    
    # Сканировать с 10 параллельными потоками
    python3 scanner.py hosts.txt --threads 10
    

#### Вывод в JSON

root@kitploit:~
    
    
    # Вывести результаты в формате JSON
    python3 scanner.py hosts.txt --format json -o results.json
    

#### Вывод в CSV

root@kitploit:~
    
    
    # Вывести результаты в формате CSV
    python3 scanner.py hosts.txt --format csv -o results.csv
    

#### Ограничение скорости

root@kitploit:~
    
    
    # Установить задержку между запросами и ограничение скорости
    python3 scanner.py hosts.txt --delay 1.0 --rate-limit 5.0
    

#### Подробный режим

root@kitploit:~
    
    
    # Включить подробный вывод для отладки
    python3 scanner.py hosts.txt -vv
    

#### Тихий режим

root@kitploit:~
    
    
    # Подавить несущественный вывод
    python3 scanner.py hosts.txt --quiet -o results.json
    

## Форматы вывода

### Текстовый формат (по умолчанию)

Человекочитаемый текстовый вывод со сводкой сканирования и детальными результатами:

root@kitploit:~
    
    
    ============================================================
    SCAN SUMMARY
    ============================================================
    Total hosts scanned: 5
    Vulnerable hosts: 2
    Safe hosts: 3
    ============================================================
    
    [!] https://example.com - VULNERABLE
        Found 3 leaked source code(s)
    
    [+] https://example2.com - Not vulnerable
    

### Формат JSON

Структурированный вывод JSON с полными деталями сканирования:

root@kitploit:~
    
    
    {
      "summary": {
        "total_hosts": 5,
        "vulnerable_hosts": 2,
        "safe_hosts": 3
      },
      "results": [
        {
          "url": "https://example.com",
          "vulnerable": true,
          "chunk_paths": ["/_next/static/chunks/..."],
          "action_ids": ["abc123..."],
          "leaked_sources": [...]
        }
      ]
    }
    

### Формат CSV

Значения, разделённые запятыми, для удобного импорта в электронные таблицы:

root@kitploit:~
    
    
    URL,Vulnerable,Chunks Found,Action IDs Found,Leaked Sources Count,Error
    https://example.com,Yes,5,3,2,
    https://example2.com,No,0,0,0,
    

## Как это работает

Сканер выполняет трёхэтапный процесс:

  1. **Обнаружение чанков** : Загружает целевую страницу и извлекает пути к JavaScript-чанкам из ссылок `/_next/static/chunks/`
  2. **Извлечение идентификаторов действий** : Загружает файлы чанков и извлекает идентификаторы серверных действий (шестнадцатеричные строки длиной 40–42 символа)
  3. **Эксплуатация** : Отправляет вредоносные запросы с нагрузкой `$F1` каждому идентификатору действия, чтобы вызвать раскрытие исходного кода



## Коды завершения

  * `0`: Уязвимых хостов не найдено
  * `1`: Найден один или более уязвимых хостов



## Вопросы безопасности

  * **Только авторизованное тестирование** : Используйте этот инструмент только в системах, которыми вы владеете или на тестирование которых имеете явное письменное разрешение
  * **Ограничение скорости** : Используйте соответствующее ограничение скорости, чтобы не перегружать целевые серверы
  * **Этичное использование** : Этот инструмент предназначен только для исследований безопасности и авторизованного тестирования на проникновение



## Устранение неполадок

### Ошибки подключения

Если возникают ошибки подключения:

  * Проверьте интернет-соединение
  * Убедитесь, что целевые URL-адреса доступны
  * Увеличьте тайм-аут: `--timeout 30`
  * Включите подробный режим: `-vv` для просмотра подробных сообщений об ошибках



### Проблемы с ограничением скорости

Если цели блокируют запросы:

  * Увеличьте задержку: `--delay 2.0`
  * Понизьте лимит запросов: `--rate-limit 2.0`
  * Используйте меньше потоков: `--threads 1`



### Отсутствующие зависимости

Если появляются ошибки импорта:

root@kitploit:~
    
    
    pip install -r requirements.txt
    

Примечание: `tqdm` необязателен – сканер будет работать и без него, но не будет показывать полосы прогресса.

## Лицензия

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

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

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

## Ссылки

  * CVE-2025-55183: Уязвимость раскрытия исходного кода Next.js RSC
  * Документация Next.js