Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2020-13277 — CVE-2020-13277 लैब: GitLab लॉजिक भेद्यता - किसी भी उपयोगकर्ता द्वारा निजी रिपॉजिटरी तक अनधिकृत पहुँच | Kitploit
उपकरण/GitHubGitHub/exp-docs/cve-2020-13277
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubexp-docs/cve-2020-13277

CVE-2020-13277

CVE-2020-13277 लैब: GitLab लॉजिक भेद्यता - किसी भी उपयोगकर्ता द्वारा निजी रिपॉजिटरी तक अनधिकृत पहुँच

रिपॉजिटरी देखें
283203 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

CVE-2020-13277

CVE-2020-13277 प्रशिक्षण मैदान: Gitlab तार्किक भेद्यता - किसी भी उपयोगकर्ता द्वारा निजी रिपॉजिटरी तक अनधिकृत पहुँच


0x10 प्रशिक्षण मैदान वातावरण

0x20 निर्देशिका संरचना

CVE-2020-13277
├── README.md ............... [यह README विवरण]
├── imgs .................... [README विवरण में सहायक चित्र]
├── gitlab .................. [Gitlab कंटेनर का माउंट निर्देशिका]
│   ├── Dockerfile .......... [Gitlab का Docker निर्माण फ़ाइल]
│   ├── config .............. [Gitlab कॉन्फ़िग माउंट निर्देशिका]
│   ├── data ................ [Gitlab डेटा माउंट निर्देशिका]
│   ├── logs ................ [Gitlab लॉग माउंट निर्देशिका]
│   ├── keys ................ [Gitlab क्रैक लाइसेंस भंडारण निर्देशिका]
│   └── runner .............. [Runner कंटेनर का माउंट निर्देशिका]
├── license ................. [क्रैक लाइसेंस कंटेनर निर्माण निर्देशिका]
│   ├── Dockerfile .......... [लाइसेंस का Docker निर्माण फ़ाइल]
│   └── license.rb .......... [क्रैक लाइसेंस उत्पन्न करने के लिए Ruby स्क्रिप्ट]
├── docker-compose.yml ...... [Docker का निर्माण कॉन्फ़िग]
├── keygen.ps1 .............. [Windows: एक-क्लिक क्रैक लाइसेंस उत्पन्न करें]
├── keygen.sh ............... [Linux:   एक-क्लिक क्रैक लाइसेंस उत्पन्न करें]
├── run.ps1 ................. [Windows: एक-क्लिक Gitlab प्रशिक्षण मैदान चलाएँ]
├── run.sh .................. [Linux:   एक-क्लिक Gitlab प्रशिक्षण मैदान चलाएँ]
├── register.ps1 ............ [Windows: एक-क्लिक Runner पंजीकृत करें]
├── register.sh ............. [Linux:   एक-क्लिक Runner पंजीकृत करें]
├── stop.ps1 ................ [Windows: एक-क्लिक Gitlab प्रशिक्षण मैदान रोकें]
└── stop.sh ................. [Linux:   एक-क्लिक Gitlab प्रशिक्षण मैदान रोकें]

0x30 पूर्व शर्तें

प्रशिक्षण मैदान Docker Image संस्करण चयन का आधार

इस भेद्यता का मुख्य उपयोग Mirror Repository - रिपॉजिटरी की मिरर सिंक बैकअप सुविधा पर आधारित है।

इसमें Mirror की सिंक दिशा दो प्रकार की होती है:

  • Pull: निर्दिष्ट Repository सामग्री को वर्तमान Repository में खींचें
  • Push: वर्तमान Repository सामग्री को निर्दिष्ट Repository पर धकेलें

यह भेद्यता Pull दिशा के Mirror Repository का उपयोग करती है

जान लें कि Gitlab CE (समुदाय मुफ्त संस्करण) और EE (उद्यम भुगतान संस्करण) दो संस्करणों में विभाजित है, और Gitlab आधिकारिक तौर पर दावा करता है कि यह भेद्यता CE और EE दोनों के निम्नलिखित संस्करणों को प्रभावित करती है:

  • >=10.6, <12.9.10
  • >=12.10, <12.10.11
  • >=13.0, <13.0.6

लेकिन इसका मतलब यह नहीं है कि इन संस्करणों के Gitlab Docker Image सभी प्रशिक्षण मैदान के लिए उपयोग किए जा सकते हैं, इसका कारण है:

  • CE संस्करण के Mirror Repository में केवल Push दिशा है
  • EE संस्करण को Core, Starter, Premium, Ultimate चार संस्करणों में विभाजित किया गया है, आधिकारिक सुविधा तुलना तालिका से पता चलता है: केवल Core संस्करण में Pull दिशा मौजूद नहीं है, जबकि Gitlab-EE के Docker Image सभी केवल Core संस्करण प्रदान करते हैं

दूसरे शब्दों में, Docker का उपयोग करके प्रशिक्षण मैदान बनाने के लिए, केवल Gitlab-EE संस्करण चुनना होगा और इसे क्रैक करना होगा (अमीर लोग लाइसेंस खरीदना भी चुन सकते हैं) ताकि Mirror Repository - Pull सुविधा सक्रिय हो सके।

लेकिन Gitlab-EE को क्रैक करने के बाद भी, चाहे 10.x, 12.x या 13.x, जब Mirror Repository - Pull का URL स्थानीय पथ शामिल करता है, तो त्रुटि Import url is blocked: Requests to localhost are not allowed दिखाई देगी।

जबकि Admin area => Settings => Network => Outbound requests सेट करके Allow requests to the local network from hooks and services सक्षम करने के बाद स्थानीय URL कॉन्फ़िगर किया जा सकता है, लेकिन मिरर सिंक करते समय त्रुटि 2:Fetching remote upstream failed: fatal: unable to access http://127.0.0.1/xxxx/: The requested URL returned error: 301 आएगी। दूसरे शब्दों में केवल Pull Remote Repository उपलब्ध है।

हालाँकि, यद्यपि 12.x और 13.x स्थानीय URL के निर्धारण में बहुत सख्त हैं, 10.x संस्करण में एक उपाय है: Pull URL कॉन्फ़िगर करते समय, केवल स्थानीय रूप से सेट किए गए DNS सेवा नाम का उपयोग करके बाईपास किया जा सकता है।

उपरोक्त से निष्कर्ष निकलता है कि अंततः केवल gitlab-ee:10.6.0-ee.0 संस्करण का Docker Image इस प्रशिक्षण मैदान के लिए उपयोग किया जा सकता है।

वास्तव में पूर्व विवरण से यह भी पता चलता है कि इस भेद्यता के उपयोग की शर्तें बहुत कड़ी हैं, मूलतः गरीब लोगों को इस भेद्यता से प्रभावित होने की संभावना नहीं है।

0x40 प्रशिक्षण मैदान निर्माण

0x41 निर्माण

  • होस्ट मशीन पर docker और docker-compose पूर्व-स्थापित हों
  • इस रिपॉजिटरी को डाउनलोड करें: git clone https://github.com/lyy289065406/CVE-2020-13277
  • क्रैक कुंजी युग्म उत्पन्न करें: ./keygen.sh या ./keygen.ps1
  • Gitlab बनाएँ और चलाएँ (सुनिश्चित करें कि पोर्ट 80 उपयोग में न हो): ./run.sh या ./run.ps1
  • लगभग 5 मिनट बाद ब्राउज़र से Gitlab में लॉगिन कर सकते हैं: http://127.0.0.1 (पहली बार लॉगिन करने पर व्यवस्थापक खाते root का पासवर्ड रीसेट करना आवश्यक है)

0x42 क्रैक

पहले क्रैक कुंजी युग्म उत्पन्न करते समय, सार्वजनिक कुंजी पहले ही Gitlab कंटेनर बैकग्राउंड में लिखी जा चुकी है, अब निजी कुंजी को फ्रंटएंड के माध्यम से Gitlab पर अपलोड करके क्रैक पूरा करना आवश्यक है:

  • कुंजी युग्म ./gitlab/keys/ निर्देशिका में उत्पन्न होता है, उसके अंतर्गत .gitlab-license की सामग्री (निजी कुंजी) कॉपी करें
  • root उपयोगकर्ता के साथ http://127.0.0.1/admin/license/new पृष्ठ खोलें
  • Enter license key चुनें और निजी कुंजी चिपकाएँ, फिर Upload license बटन दबाकर क्रैक पूरा करें

इस प्रकार Mirror Repository - Pull सुविधा सक्रिय हुई

0x43 आउटबाउंड सेटिंग

  • root उपयोगकर्ता के साथ http://127.0.0.1/admin/application_settings पृष्ठ खोलें
  • सबसे नीचे Outbound requests ढूँढें और Allow requests to the local network from hooks and services चेक करके सहेजें

इस प्रकार Mirror Repository - Pull अब स्थानीय Repository खींचने का समर्थन करता है

0x44 Runner सेट करें

  • root उपयोगकर्ता के साथ http://127.0.0.1/admin/runners पृष्ठ खोलें
  • registration token ढूँढें और कॉपी करें
  • Runner पंजीकृत करें: ./register.sh $TOKEN या ./register.ps1 $TOKEN

इस प्रकार सभी Repository इस Runner का उपयोग करके CI स्क्रिप्ट (Pipeline Jobs) निष्पादित कर सकते हैं

0x50 प्रशिक्षण मैदान सत्यापन

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