
आरएससी डिटेक्ट सीवीई 2025 55182
React Server Components और Next.js अनुप्रयोगों की पहचान के लिए हल्की डिटेक्शन उपयोगिता
RSC-Detect एक सरल, केंद्रित उपकरण है जिसे React Server Components (RSC) और Next.js फ्रेमवर्क का उपयोग करने वाली वेबसाइटों की पहचान करने के लिए डिज़ाइन किया गया है। यह इसके लिए उपयोगी है:
# क्लोन करें
git clone https://github.com/vijay-shirhatti/RSC-Detect-CVE-2025-55182.git
cd rsc-detect
# इंस्टॉल करें
pip install -r requirements.txt
# चलाएं
python main.py
requests)main.py में targetList को संपादित करें:
if __name__ == "__main__":
targetList = [
"https://example.com",
"https://another-site.com",
]
for urlItem in targetList:
analyzeTarget(urlItem)
python main.py
Analyzing target: https://example.com
[Framework Indicators] Detected: ['__NEXT_DATA__', '/_next/static/']
[Framework Headers] Detected: ['x-powered-by: next.js']
Analyzing target: https://another-site.com
No framework indicators detected
1. लक्ष्य URL पर HTTP GET अनुरोध भेजें
2. HTML सामग्री और प्रतिक्रिया हेडर पार्स करें
3. ज्ञात संकेतकों के विरुद्ध पैटर्न मिलान करें
4. परिणाम रिपोर्ट करें
HTML_RSC_PATTERNS = [
'__flight__', # RSC स्ट्रीमिंग मार्कर
'react-server-streaming', # सर्वर स्ट्रीमिंग संकेतक
'__REACT_SERVER_APP__', # RSC अनुप्रयोग फ्लैग
]
CONTENT_TYPE_RSC_PATTERNS = [
'text/x-component', # RSC सामग्री प्रकार
'text/vnd.rsc', # विक्रेता RSC प्रकार
'application/x-react-server-component', # पूर्ण RSC MIME
]
HTML_NEXTJS_PATTERNS = [
"__NEXT_DATA__", # Next.js डेटा हाइड्रेशन
"/_next/static/", # स्थैतिक संपत्ति पथ
"/_next/data/", # डेटा फ़ेचिंग रूट्स
"next-head", # हेड घटक
"next-font", # फ़ॉन्ट ऑप्टिमाइज़ेशन
"next/script", # स्क्रिप्ट घटक
]
RSC-Detect-CVE-2025-55182/
├── main.py # मुख्य डिटेक्शन स्क्रिप्ट
├── requirements.txt # Python निर्भरताएं
└── README.md # दस्तावेज़ीकरण
targetList = [
"https://site1.com",
"https://site2.com",
"https://site3.com/app",
]
# नए RSC पैटर्न जोड़ें
HTML_RSC_PATTERNS.append('your-custom-pattern')
# नए Next.js पैटर्न जोड़ें
HTML_NEXTJS_PATTERNS.append('custom-next-indicator')
# अनुरोध टाइमआउट संशोधित करें (डिफ़ॉल्ट: 10 सेकंड)
httpResponse = requests.get(targetUrl, timeout=30)
def loadTargetsFromFile(filepath):
with open(filepath, 'r') as f:
return [line.strip() for line in f if line.strip()]
if __name__ == "__main__":
targetList = loadTargetsFromFile('targets.txt')
for urlItem in targetList:
analyzeTarget(urlItem)
import json
def analyzeTargetJson(targetUrl):
results = {
'url': targetUrl,
'rsc_markers': [],
'content_types': [],
'nextjs_html': [],
'nextjs_headers': []
}
try:
httpResponse = requests.get(targetUrl, timeout=10)
htmlContentLower = httpResponse.text.lower()
headersContentLower = str(httpResponse.headers).lower()
results['rsc_markers'] = [p for p in HTML_RSC_PATTERNS if p.lower() in htmlContentLower]
results['content_types'] = [p for p in CONTENT_TYPE_RSC_PATTERNS if p.lower() in headersContentLower]
results['nextjs_html'] = [p for p in HTML_NEXTJS_PATTERNS if p.lower() in htmlContentLower]
results['nextjs_headers'] = [p for p in HEADER_NEXTJS_PATTERNS if p.lower() in headersContentLower]
except Exception as e:
results['error'] = str(e)
return results
# उपयोग
results = [analyzeTargetJson(url) for url in targetList]
print(json.dumps(results, indent=2))
from concurrent.futures import ThreadPoolExecutor
def scanConcurrently(targets, maxWorkers=5):
with ThreadPoolExecutor(max_workers=maxWorkers) as executor:
executor.map(analyzeTarget, targets)
# पुनर्प्रयास तर्क जोड़ें
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
session = requests.Session()
retries = Retry(total=3, backoff_factor=0.5)
session.mount('https://', HTTPAdapter(max_retries=retries))
# SSL सत्यापन अक्षम करें (उत्पादन के लिए अनुशंसित नहीं)
httpResponse = requests.get(targetUrl, timeout=10, verify=False)
# विभिन्न एन्कोडिंग को संभालें
httpResponse.encoding = httpResponse.apparent_encoding
यह उपकरण इसके लिए अभिप्रेत है:
सुनिश्चित करें कि आपके पास उन लक्ष्यों को स्कैन करने की अनुमति है जिनके आप मालिक नहीं हैं।
requests>=2.28.0
urllib3>=1.26.0
योगदान का स्वागत है! आप इसमें मदद कर सकते हैं:
MIT लाइसेंस - व्यक्तिगत और व्यावसायिक उपयोग के लिए मुफ्त।
सरल • तेज़ • प्रभावी
⭐ यदि यह उपयोगी लगे तो स्टार करें!
| श्रेणी | पहचाने गए पैटर्न |
|---|
| 🔵 RSC मार्कर | __flight__, react-server-streaming, __REACT_SERVER_APP__ |
| 📄 Content-Type | text/x-component, text/vnd.rsc, application/x-react-server-component |
| ⚡ Next.js HTML | __NEXT_DATA__, /_next/static/, next-font, next/script |
| 📋 हेडर | x-powered-by: next.js |
| फ्रेमवर्क | डिटेक्शन दर | नोट्स |
|---|
| Next.js 13+ | उच्च | कई संकेतक उपस्थित |
| Next.js 12 | उच्च | __NEXT_DATA__ विश्वसनीय |
| React RSC | मध्यम | कार्यान्वयन पर निर्भर करता है |
| कस्टम React | निम्न | कस्टम पैटर्न आवश्यक |