
Bu laboratuvar ortamını sıfırdan kendim oluşturdum. Next.js uygulaması içerisinde giriş, ana sayfa ve admin sayfalarını hazırladım. Middleware ile yetkilendirme mekanizmasını kurduktan sonra Burp Suite kullanarak CVE-2025-29927 zafiyetini kontrollü ortamda gösterdim.
Next.js अनुप्रयोगों में, middleware अनुरोधों के अनुप्रयोग तक पहुँचने से पहले चलकर प्रमाणीकरण और प्राधिकरण जैसे नियंत्रण करता है।
CVE-2025-29927 भेद्यता में, विशेष रूप से जोड़े गए x-middleware-subrequest HTTP हेडर के कारण middleware कुछ मामलों में अनुरोध को सत्यापित मान सकता है। यह स्थिति अनधिकृत उपयोगकर्ताओं को संरक्षित पृष्ठों तक पहुँचने का कारण बन सकती है।
इस प्रोजेक्ट में, मैंने Docker का उपयोग करके बनाए गए अपने प्रयोगशाला वातावरण में Next.js अनुप्रयोगों को प्रभावित करने वाली CVE-2025-29927 भेद्यता का प्रदर्शन किया।
मैंने प्रयोगशाला वातावरण को शुरू से स्वयं बनाया। Next.js के साथ login, index और admin पृष्ठ तैयार किए। फिर middleware का उपयोग करके admin पृष्ठ में प्राधिकरण नियंत्रण जोड़ा।
Burp Suite के साथ HTTP अनुरोधों को कैप्चर करके x-middleware-subrequest हेडर जोड़ा और middleware नियंत्रण को दरकिनार करके admin पृष्ठ तक अनधिकृत पहुँच दिखाई।
.
├── pages
│ ├── admin.js
│ ├── index.js
│ └── login.js
├── middleware.js
├── Dockerfile
├── package.json
└── README.md
प्रोजेक्ट चलाने से पहले निम्नलिखित स्थापित होना आवश्यक है।
Repository को अपने कंप्यूटर पर डाउनलोड करें।
git clone https://github.com/berraesen/nextjs-middleware-auth-bypass-lab.git
फ़ोल्डर में प्रवेश करें।
cd nextjs-middleware-auth-bypass-lab
Docker इमेज बनाएँ।
docker build -t nextjs-auth-bypass .
Container प्रारंभ करें।
docker run -d -p 3000:3000 --name nextjs-lab nextjs-auth-bypass
ब्राउज़र से निम्नलिखित पते पर जाएँ।
http://localhost:3000
प्रोजेक्ट में निम्नलिखित पृष्ठ हैं।
Admin पृष्ठ तक पहुँच middleware के माध्यम से नियंत्रित की जाती है।
सबसे पहले ब्राउज़र के माध्यम से /admin पृष्ठ तक पहुँचने का प्रयास करें।
चूँकि आपके पास प्राधिकरण नहीं है, आपको login पृष्ठ पर पुनर्निर्देशित किया जाएगा।
Burp Suite के साथ अनुरोध कैप्चर करें।
अनुरोध में निम्नलिखित HTTP हेडर जोड़ें।
x-middleware-subrequest: middleware
अनुरोध फिर से भेजें।
जब middleware नियंत्रण दरकिनार हो जाता है, तो admin पृष्ठ तक पहुँचा जा सकता है।
स्थापना पूर्ण होने के बाद;
İstemci
│
▼
HTTP Request
│
▼
Next.js Middleware
│
├──────────────► Normal İstek
│ │
│ ▼
│ Yetki Kontrolü
│ │
│ ▼
│ Login Sayfasına Yönlendirme
│
▼
x-middleware-subrequest
Header Eklendi
│
▼
Middleware Kontrolü Atlandı
│
▼
Admin Sayfasına Erişim
इस भेद्यता को दूर करने के लिए प्रभावित Next.js संस्करणों को अद्यतन संस्करणों से बदलने की अनुशंसा की जाती है।
इसके अलावा, केवल middleware पर ही प्राधिकरण नहीं किया जाना चाहिए, सर्वर पक्ष पर भी अतिरिक्त प्राधिकरण नियंत्रण लागू किए जाने चाहिए।