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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
PIL-CVE-2017-8291 — CVE-2017-8291 CTF डॉकर और उदाहरणों के साथ | Kitploit
उपकरण/GitHubGitHub/hkcfs/pil-cve-2017-8291
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणCTFलर्निंग और शिक्षालैब और अभ्यास
GitHubhkcfs/pil-cve-2017-8291

PIL-CVE-2017-8291

CVE-2017-8291 CTF डॉकर और उदाहरणों के साथ

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

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

सभी देखें →

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

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

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

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

Python PIL दूरस्थ कमांड निष्पादन भेद्यता (GhostButt)

Python में छवियों को संसाधित करने के लिए PIL (Pillow) मॉड्यूल GhostButt भेद्यता (CVE-2017-8291) से प्रभावित है, क्योंकि यह आंतरिक रूप से GhostScript को कॉल करता है, जिसके परिणामस्वरूप दूरस्थ कमांड निष्पादन भेद्यता उत्पन्न होती है।

भेद्यता सारांश

PIL आंतरिक रूप से छवि हेडर (मैजिक बाइट्स) के आधार पर छवि प्रकार निर्धारित करता है। यदि यह एक EPS फ़ाइल (हेडर %!PS है) पाया जाता है, तो इसे प्रसंस्करण के लिए PIL/EpsImagePlugin.py को भेजा जाता है।

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

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
            ]

# Omit the code to determine whether GhostScript is installed
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 में कमांड निष्पादन भेद्यता है।

भेद्यता परीक्षण

ऑपरेटिंग वातावरण:

root@kitploit:~
docker-compose up -d

चलाने के बाद, एक अपलोड पृष्ठ देखने के लिए http://your-ip:8000/ पर जाएं। सामान्य कार्य यह है कि हम एक PNG फ़ाइल अपलोड करते हैं, बैकएंड छवि को लोड करने के लिए PIL को कॉल करता है, और लंबाई और चौड़ाई आउटपुट करता है। लेकिन हम निष्पादन योग्य कमांड EPS फ़ाइल के एक्सटेंशन को PNG में बदलकर अपलोड कर सकते हैं, क्योंकि बैकएंड फ़ाइल हेडर के आधार पर छवि प्रकार निर्धारित करता है, इसलिए एक्सटेंशन जाँच को अनदेखा किया जाता है।

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

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