हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!
-CVE-2025-55182 — ब्राउज़र-आधारित स्कैनर जो GitHub रिपॉजिटरीज़ का ऑडिट करता है React और Next.js निर्भरताओं में ज्ञात कमजोरियों के लिए, सभी शाखाओं की जाँच करता है और PAT के माध्यम से निजी रिपॉजिटरीज़ को सपोर्ट करता है। | Kitploit
ब्राउज़र-आधारित स्कैनर जो GitHub रिपॉजिटरीज़ का ऑडिट करता है React और Next.js निर्भरताओं में ज्ञात कमजोरियों के लिए, सभी शाखाओं की जाँच करता है और PAT के माध्यम से निजी रिपॉजिटरीज़ को सपोर्ट करता है।
एक आधुनिक वेब ब्राउज़र (Chrome, Firefox, Edge, आदि)
GitHub तक पहुंच (वैकल्पिक: निजी रिपॉजिटरी के लिए Personal Access Token)
चरण-दर-चरण
1. ब्राउज़र कंसोल खोलें
कोई भी GitHub पेज खोलें (उदा: https://github.com)
DevTools खोलें:
Chrome/Edge: F12 या Ctrl+Shift+I (Windows) / Cmd+Option+I (Mac)
Firefox: F12 या Ctrl+Shift+K (Windows) / Cmd+Option+K (Mac)
Console टैब पर जाएं
2. स्क्रिप्ट को कॉपी और चलाएं
main.js फ़ाइल खोलें
फ़ाइल की सारी सामग्री कॉपी करें
इसे ब्राउज़र कंसोल में पेस्ट करें
चलाने के लिए Enter दबाएं
3. स्कैन कॉन्फ़िगर करें
स्क्रिप्ट कई इंटरैक्टिव प्रश्न पूछेगी:
3.1. प्रमाणीकरण (पहला प्रश्न)
root@kitploit:~
🔐 Scan private repos too?
OK = Enter PAT
Cancel = Public only
OK: आपको GitHub Personal Access Token (PAT) दर्ज करने के लिए कहा जाएगा
निजी रिपॉजिटरी स्कैन करने की अनुमति देता है
संगठनों तक पहुंच के लिए आवश्यक
Cancel: केवल सार्वजनिक रिपॉजिटरी स्कैन की जाएंगी
PAT कैसे बनाएं:
यहां जाएं: https://github.com/settings/tokens
"Generate new token" → "Generate new token (classic)" पर क्लिक करें
एक वर्णनात्मक नाम दें
repo स्कोप चुनें (रिपॉजिटरी तक पूर्ण पहुंच)
"Generate token" पर क्लिक करें
टोकन तुरंत कॉपी करें (यह दोबारा नहीं दिखाया जाएगा)
3.2. स्कैन का दायरा (यदि प्रमाणित है)
root@kitploit:~
🔍 What do you want to scan?
OK = Organizations
Cancel = User Profile
OK: संगठन स्कैन करें
Cancel: केवल उपयोगकर्ता प्रोफ़ाइल स्कैन करें
3.3. संगठनों का चयन (यदि Organizations चुना है)
root@kitploit:~
🏢 Scan all organizations?
OK = All organizations
Cancel = Single organization
विकल्प A - सभी संगठन (OK):
स्क्रिप्ट स्वचालित रूप से प्रमाणित उपयोगकर्ता के सभी संगठनों को खोजेगी
सभी संगठनों के सभी रिपॉजिटरी स्कैन करेगी
विकल्प B - एक विशिष्ट संगठन (Cancel):
आपको संगठन का URL या नाम दर्ज करने के लिए कहा जाएगा:
root@kitploit:~
🔗 Enter organization URL or name:
Example: github.com/my-org or my-org
स्वीकृत प्रारूप:
github.com/मेरा-संगठन
https://github.com/मेरा-संगठन
मेरा-संगठन (केवल नाम)
3.4. उपयोगकर्ता प्रोफ़ाइल (यदि प्रमाणित नहीं है या Profile चुना है)
यदि आप GitHub प्रोफ़ाइल पेज पर हैं, तो स्क्रिप्ट स्वचालित रूप से पता लगाएगी
अन्यथा, आपसे पूछा जाएगा:
root@kitploit:~
Enter GitHub username:
📊 विशेषताएँ
✨ शाखाओं द्वारा जाँच
स्क्रिप्ट प्रत्येक रिपॉजिटरी की सभी शाखाओं की जाँच करती है, न कि केवल डिफ़ॉल्ट शाखा की। यह सुनिश्चित करता है कि विकास, स्टेजिंग या अन्य सक्रिय शाखाओं में कमजोरियाँ पकड़ी जाएँ।
🏢 संगठनों के लिए समर्थन
GitHub संगठनों के रिपॉजिटरी स्कैन करता है
सभी संगठनों या किसी एक विशिष्ट को स्कैन करने का विकल्प
संगठन का URL या नाम दर्ज करने का समर्थन
🔒 निजी रिपॉजिटरी तक पहुंच
मान्य Personal Access Token के साथ, स्क्रिप्ट यह कर सकती है:
निजी रिपॉजिटरी तक पहुंचें
निजी संगठनों को स्कैन करें
निजी रिपॉजिटरी की शाखाओं की जाँच करें
📈 परिणाम
निष्पादन के बाद, स्क्रिप्ट प्रदर्शित करेगी:
परिणाम तालिका
कंसोल में एक तालिका दिखाती है:
Repo: रिपॉजिटरी का नाम
Branch: जाँची गई शाखा का नाम
Next: Next.js का संस्करण (यदि मौजूद है)
React: React का संस्करण (यदि मौजूद है)
ReactDOM: react-dom का संस्करण (यदि मौजूद है)
RSCWebpack: react-server-dom-webpack का संस्करण (यदि मौजूद है)
RSCParcel: react-server-dom-parcel का संस्करण (यदि मौजूद है)
RSCTurbopack: react-server-dom-turbopack का संस्करण (यदि मौजूद है)
Status: कमजोरी की स्थिति
✅ Safe: कोई कमजोरी नहीं पाई गई
⚠️ CVE-XXXX-XXXXX: कमजोरी पाई गई
सारांश
root@kitploit:~
📊 Summary:
Total repos: 15
Branches scanned: 23
With package.json: 20
Skipped: 3 (no package.json)
⚠️ 5 vulnerable repo(s) found!
या
root@kitploit:~
✅ No vulnerabilities found!
⚙️ तकनीकी कॉन्फ़िगरेशन
API अनुरोधों के बीच विलंब: 200ms (रेट लिमिटिंग से बचने के लिए)
स्कैन के बीच विलंब: 30ms
प्रति पृष्ठ परिणाम: 100 आइटम
निजी रिपॉजिटरी के लिए समर्थन: हाँ (PAT के साथ)
शाखाओं की जाँच: प्रत्येक रिपॉजिटरी की सभी शाखाएँ
🔧 समस्या समाधान
त्रुटि: "Token invalid"
जांचें कि टोकन सही ढंग से कॉपी किया गया है
सुनिश्चित करें कि टोकन में repo स्कोप है
जांचें कि टोकन समाप्त नहीं हुआ है
त्रुटि: "No repositories found"
जांचें कि उपयोगकर्ता/संगठन मौजूद है
यदि संगठन स्कैन कर रहे हैं, तो जांचें कि आपके पास पहुंच है
जांचें कि प्रोफ़ाइल/संगठन में रिपॉजिटरी हैं
त्रुटि: "No organizations found"
जांचें कि आप एक मान्य टोकन से प्रमाणित हैं
सुनिश्चित करें कि आप संगठनों के सदस्य हैं
टोकन के पास संगठनों तक पहुंचने की अनुमति होनी चाहिए
स्कैन बहुत धीमा
स्क्रिप्ट रेट लिमिटिंग से बचने के लिए जानबूझकर विलंब करती है
कई शाखाओं वाली रिपॉजिटरी में अधिक समय लगेगा
कई रिपॉजिटरी वाले संगठनों में अधिक समय लगेगा
📝 महत्वपूर्ण नोट्स
रेट लिमिटिंग: स्क्रिप्ट स्वचालित विलंब के साथ GitHub API सीमाओं का पालन करती है
गोपनीयता: टोकन केवल ब्राउज़र में स्थानीय रूप से उपयोग किया जाता है, बाहरी सर्वरों को नहीं भेजा जाता
सटीकता: स्कैनर केवल रिपॉजिटरी की जड़ में package.json की जाँच करता है
शाखाएँ: सभी शाखाओं की जाँच की जाती है, लेकिन केवल package.json वाली शाखाओं की रिपोर्ट की जाती है
संस्करण: स्कैनर CVE परिभाषाओं के आधार पर कमजोर संस्करणों का पता लगाता है
🛡️ सुरक्षा
स्क्रिप्ट पूरी तरह से ब्राउज़र में चलती है (क्लाइंट-साइड)
कोई डेटा बाहरी सर्वरों को नहीं भेजा जाता
Personal Access Token केवल GitHub API अनुरोधों के लिए उपयोग किया जाता है
न्यूनतम आवश्यक स्कोप वाले टोकन का उपयोग करने की अनुशंसा की जाती है
📄 लाइसेंस
MIT License
🔄 संस्करण
3.0.0
React और Next.js प्रोजेक्ट्स में सुरक्षा कमजोरियों का पता लगाने के लिए विकसित