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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2017-8291 — Docker-आधारित लैब Python PIL/Pillow EPS छवि प्रसंस्करण के माध्यम से CVE-2017-8291 (GhostButt) शोषण का प्रदर्शन करता है, एक कमजोर वेब एप्लिकेशन और प्रूफ-ऑफ-कॉन्सेप्ट शोषण के साथ। | Kitploit
उपकरण/GitHubGitHub/shun1403/cve-2017-8291
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणCTFलर्निंग और शिक्षालैब और अभ्यास
GitHubshun1403/cve-2017-8291

CVE-2017-8291

Docker-आधारित लैब Python PIL/Pillow EPS छवि प्रसंस्करण के माध्यम से CVE-2017-8291 (GhostButt) शोषण का प्रदर्शन करता है, एक कमजोर वेब एप्लिकेशन और प्रूफ-ऑफ-कॉन्सेप्ट शोषण के साथ।

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

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

सभी देखें →

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

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

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

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

Python PIL/Pillow रिमोट कमांड निष्पादन (GhostButt / CVE-2017-8291)

चीनी संस्करण

Python PIL (Pillow) Python के लिए एक लोकप्रिय इमेज प्रोसेसिंग लाइब्रेरी है। यह विभिन्न इमेज फॉर्मेट्स को सपोर्ट करता है और शक्तिशाली इमेज मैनिपुलेशन क्षमताएँ प्रदान करता है।

Python इमेज प्रोसेसिंग मॉड्यूल PIL (Pillow) GhostButt भेद्यता (CVE-2017-8291) से प्रभावित है क्योंकि यह EPS इमेज को प्रोसेस करने के लिए आंतरिक रूप से GhostScript को कॉल करता है। यह भेद्यता हमलावरों को लक्षित सिस्टम पर मनमाना कमांड निष्पादित करने की अनुमति देती है।

जब PIL किसी इमेज को प्रोसेस करता है, तो यह फ़ाइल हेडर (Magic Bytes) के आधार पर इमेज प्रकार का निर्धारण करता है। यदि यह एक EPS फ़ाइल की पहचान करता है (हेडर %!PS से शुरू होता है), तो यह फ़ाइल को प्रोसेसिंग के लिए PIL/EpsImagePlugin.py को सौंप देता है।

इस मॉड्यूल में, PIL इमेज फ़ाइल को प्रोसेस करने के लिए सिस्टम के GhostScript कमांड (gs) को कॉल करता है:

root@kitploit:~
command = ["gs",
            "-q",                         # quiet mode
            "-g%dx%d" % size,             # set output geometry (pixels)
            "-r%fx%f" % res,              # set input DPI (dots per inch)
            "-dBATCH",                    # exit after processing
            "-dNOPAUSE",                  # don't pause between pages,
            "-dSAFER",                    # safe mode
            "-sDEVICE=ppmraw",            # ppm driver
            "-sOutputFile=%s" % outfile,  # output file
            "-c", "%d %d translate" % (-bbox[0], -bbox[1]),
                                            # adjust for image origin
            "-f", infile,                 # input file
            ]

# Code to check if GhostScript is installed is omitted
try:
    with open(os.devnull, 'w+b') as devnull:
        subprocess.check_call(command, stdin=devnull, stdout=devnull)
    im = Image.open(outfile)

हालाँकि -dSAFER फ्लैग सेट किया गया है (सुरक्षित मोड), GhostScript (GhostButt CVE-2017-8291) में एक सैंडबॉक्स बाईपास भेद्यता इस सुरक्षा तंत्र को बायपास करने की अनुमति देती है, जिससे मनमाना कमांड निष्पादन संभव हो जाता है।

इस लेखन के समय, नवीनतम आधिकारिक GhostScript संस्करण 9.21 भी इस भेद्यता से प्रभावित है। इसलिए, जब तक ऑपरेटिंग सिस्टम पर GhostScript इंस्टॉल है, PIL कमांड निष्पादन के प्रति संवेदनशील है।

संदर्भ:

  • Python PIL मॉड्यूल कमांड निष्पादन भेद्यता का शोषण
  • CVE-2017-8291 विवरण
  • GhostScript सुरक्षा सलाह

पर्यावरण सेटअप

CVE-2017-8291 भेद्यता के प्रति संवेदनशील एक वेब एप्लिकेशन शुरू करने के लिए निम्न कमांड निष्पादित करें:

root@kitploit:~
docker compose up -d

शुरू करने के बाद, अपलोड पेज तक पहुँचने के लिए http://your-ip:8000/ पर जाएँ।

भेद्यता का शोषण

इस एप्लिकेशन की सामान्य कार्यक्षमता उपयोगकर्ताओं को PNG फ़ाइल अपलोड करने की अनुमति देती है। बैकएंड इमेज को लोड करने और उसके आयाम आउटपुट करने के लिए PIL का उपयोग करता है। हालाँकि, हम एक निष्पादन योग्य EPS फ़ाइल का एक्सटेंशन PNG में बदलकर और उसे अपलोड करके इसका शोषण कर सकते हैं। चूँकि बैकएंड एक्सटेंशन के बजाय फ़ाइल हेडर के आधार पर इमेज प्रकार निर्धारित करता है, फ़ाइल एक्सटेंशन जाँच को बायपास किया जा सकता है।

उदाहरण के लिए, हम poc.png अपलोड कर सकते हैं, जो सर्वर पर touch /tmp/aaaaa कमांड निष्पादित करेगा। POC में कमांड को रिवर्स शेल कमांड में संशोधित करके, हम सर्वर पर शेल एक्सेस प्राप्त कर सकते हैं:

भेद्यता का शोषण

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