
Kommandozeilen-Framework für Sicherheitsbewertungen von React- und Next.js-Anwendungen, das React Server Components auf Fehlkonfigurationen analysiert, mit Multi-Ziel-Scanning, WAF-Erkennung und Proxy-Unterstützung.
Framework zur Sicherheitsbewertung von Webanwendungen für React- und Next.js-Anwendungen
Dieses Tool ist ausschließlich für autorisierte Sicherheitstests konzipiert.
Die Nutzer sind allein dafür verantwortlich, die Einhaltung aller geltenden Gesetze sicherzustellen.
React2Shell Scanner ist ein Befehlszeilen-Framework zur Sicherheitsbewertung, das Sicherheitsexperten dabei hilft, potenzielle Schwachstellen in React- und Next.js-Webanwendungen zu identifizieren. Der Fokus liegt auf der Analyse von React-Server-Component-Implementierungen (RSC) auf häufige Sicherheitsfehlkonfigurationen.
| Funktion | Beschreibung |
|---|---|
| 🎯 Multi-Ziel-Scanning | Scannt einzelne URLs oder Listen von Zielen |
| 🔄 Paralleles Testen | Multithreaded für effiziente Bewertung |
| 🛡️ WAF-Erkennung | Identifiziert und analysiert WAF-Antworten |
| 📊 Fortschrittsverfolgung | Visuelle Fortschrittsanzeige mit tqdm |
| 🔧 Konfigurierbare Header | Benutzerdefinierte Header-Injektion |
| 🌐 Proxy-Unterstützung | Routing über HTTP/HTTPS-Proxys |
| 📝 Ausgabeformate | JSON- und Textberichtserstellung |
| 🎨 Farbiges CLI | Klare, farbcodierte Terminalausgabe |
# Repository klonen
git clone https://github.com/wi3memake/React2Shell-Scanner.git
cd react2shell-scanner
# Virtuelle Umgebung erstellen (empfohlen)
python -m venv venv
source venv/bin/activate # Linux/Mac
.\venv\Scripts\activate # Windows
# Abhängigkeiten installieren
pip install -r requirements.txt
requests>=2.28.0 # HTTP-Client-Bibliothek
tqdm>=4.64.0 # Fortschrittsanzeige
urllib3>=1.26.0 # URL-Verarbeitung
# Einzelnes Ziel
python react2shell.py.py -u https://example.com
# Mit ausführlicher Ausgabe
python react2shell.py.py -u https://example.com -v
# Aus Datei scannen
python react2shell.py.py -l targets.txt
# Mit parallelen Threads
python react2shell.py.py -l targets.txt -t 10
# Benutzerdefinierte Header
python react2shell.py.py -u https://example.com -H "Authorization: Bearer token"
# Über Proxy
python react2shell.py.py -u https://example.com --proxy http://127.0.0.1:8080
# SSL-Verifizierung überspringen
python react2shell.py.py -u https://example.com --no-verify
# Ausgabe in Datei
python react2shell.py.py -u https://example.com -o results.json
| Argument | Kurzform | Beschreibung | Standard |
|---|---|---|---|
--url | -u | Einzelne Ziel-URL | - |
--list | -l | Datei mit Ziel-URLs | - |
--threads | -t | Parallele Threads | 5 |
--timeout | - | Anfrage-Timeout (Sekunden) | 10 |
--proxy | - | Proxy-URL (http/https) | - |
--headers | -H | Benutzerdefinierte Header | - |
--output | -o | Ausgabedateipfad | - |
--no-verify | - | SSL-Verifizierung überspringen | False |
--verbose | -v | Ausführliche Ausgabe | False |
--waf-bypass | - | WAF-Bypass-Modus | False |
--bypass-size | - | Bypass-Payload-Größe (KB) | 128 |
React2Shell Web Application Security Assessment Framework
[*] Starte Bewertung von https://example.com
[*] Analysiere React Server Components...
[*] Teste Redirect-Verhalten...
[+] Bewertung abgeschlossen
Ziel: https://example.com
Status: Analysiert
Antwortcode: 200
Server: Next.js
React-Version: 18.2.0
RSC erkannt: Ja
Bewertungszeit: 1.23s
{
"target": "https://example.com",
"timestamp": "2025-01-15T10:30:00Z",
"results": {
"status_code": 200,
"server": "Next.js",
"rsc_detected": true,
"headers": {
"content-type": "text/html",
"x-powered-by": "Next.js"
},
"assessment_time": 1.23
}
}
React2Shell-Scanner/
├── react2shell.py.py # Haupt-Scanner-Skript
├── requirements.txt # Python-Abhängigkeiten
└── README.md # Dokumentation
Erstellen Sie eine Textdatei mit einer URL pro Zeile:
https://target1.com
https://target2.com
https://target3.com/api
Übergeben Sie mehrere Header mit wiederholten -H-Flags:
python react2shell.py.py -u https://example.com \
-H "Authorization: Bearer token123" \
-H "X-Custom-Header: value" \
-H "Cookie: session=abc123"
# HTTP-Proxy
--proxy http://127.0.0.1:8080
# HTTPS-Proxy
--proxy https://proxy.example.com:8443
# Authentifizierter Proxy
--proxy http://user:[email protected]:8080
# GitHub Actions Beispiel
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run security scan
run: python react2shell.py.py -u ${{ secrets.TARGET_URL }} -o results.json
import subprocess
import json
# Scanner ausführen
result = subprocess.run(
['python', 'react2shell.py.py', '-u', 'https://example.com', '-o', 'results.json'],
capture_output=True,
text=True
)
# Ergebnisse parsen
with open('results.json') as f:
findings = json.load(f)
Verbindungs-Timeout
# Timeout erhöhen
python react2shell.py.py -u https://example.com --timeout 30
SSL-Zertifikatsfehler
# Verifizierung überspringen (nur für Tests)
python react2shell.py.py -u https://example.com --no-verify
Rate-Limiting
# Threads reduzieren
python react2shell.py.py -l targets.txt -t 2
Wir begrüßen Beiträge, die Folgendes verbessern:
Bitte reichen Sie Issues und Pull Requests auf GitHub ein.
Dieses Projekt ist unter der MIT-Lizenz lizenziert.
Sicherheitstests effizient gestaltet
🔒 Immer verantwortungsvoll testen 🔒