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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2019-19576 — यह एक फ़िल्टर बाईपास एक्सप्लॉइट है जो class.upload.php <= 2.0.3 में मनमाना फ़ाइल अपलोड और रिमोट कोड निष्पादन का परिणाम देता है। | Kitploit
उपकरण/GitHubGitHub/jra89/cve-2019-19576
पेलोड जनरेशनभेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंग
GitHubjra89/cve-2019-19576

CVE-2019-19576

यह एक फ़िल्टर बाईपास एक्सप्लॉइट है जो class.upload.php <= 2.0.3 में मनमाना फ़ाइल अपलोड और रिमोट कोड निष्पादन का परिणाम देता है।

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

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

सभी देखें →

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

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

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

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

class.upload.php <= 2.0.3 मनमाना फ़ाइल अपलोड

  • लेखक - Jinny Ramsmark
  • प्रभावित विक्रेता - Verot.net
  • प्रभावित उत्पाद - class.upload.php <= 2.0.3
  • नए स्थापित Ubuntu 19.10 पर PHP7.3 और Apache/2.4.38 के साथ परीक्षण किया गया
  • विशेष रूप से Debian/Ubuntu को कमजोर पाया गया है क्योंकि वे उपलब्ध PHP हैंडलर्स में php, phar, और phtml एक्सटेंशन जोड़ते हैं। इस मामले में class.upload.php ने phar एक्सटेंशन को ब्लैकलिस्ट नहीं किया है।

विवरण

यह एक फ़िल्टर बाईपास शोषण है जो मनमाना फ़ाइल अपलोड और दूरस्थ कोड निष्पादन में परिणाम देता है। class.upload.php स्क्रिप्ट 'खतरनाक फ़ाइलों और सामग्री' को फ़िल्टर करती है और उन्हें txt फ़ाइल एक्सटेंशन में नाम बदल देती है। यह अपलोड की गई छवि पर विभिन्न प्रकार के रूपांतरण भी करता है, जो सामान्यतः किसी भी इंजेक्ट किए गए पेलोड को नष्ट कर देगा, भले ही फ़ाइल एक्सटेंशन फ़िल्टर को बाईपास किया जा सके। फ़ाइल एक्सटेंशन फ़िल्टर एक ब्लैकलिस्ट है, इसलिए जब भी कोई नया एक्सटेंशन पेश किया जाता है (इस मामले में phar), या कोई छूट जाता है, तो एक PHP फ़ाइल अपलोड की जा सकती है। हालांकि सामग्री अभी भी एक मान्य छवि होनी चाहिए और imagecreatefromjpeg और समान फ़ंक्शनों से गुज़रेगी। इस उद्देश्य के लिए मैंने inject.php स्क्रिप्ट लिखी है जो मूल रूप से विभिन्न छवियों के माध्यम से बलपूर्वक प्रयास करेगी जब तक कि उसे एक ऐसी छवि न मिल जाए जहां class.upload.php में की गई प्रक्रिया से पेलोड नष्ट नहीं होगा। यह प्रभावी रूप से हमें एक मनमाना फ़ाइल अपलोड और बहुत गुप्त कोड निष्पादन देता है क्योंकि यह अभी भी एक मान्य छवि है और उन पृष्ठों पर इस तरह प्रदर्शित होगी जहां अपलोड किया गया है।

समयरेखा (90 दिन की डिफ़ॉल्ट समय सीमा)

  • 2019-12-03 - डेवलपर और K2 को रिपोर्ट किया गया
  • 2019-12-03 - K2 ने जवाब दिया
  • 2019-12-04 - Verot ने एक सुधार के साथ जवाब दिया
  • 2019-12-04 - K2 ने अपने स्वयं के तैयार सुधार के साथ जवाब दिया
  • 2019-12-04 - Verot ने उक्त सुधार जारी किया (v2.0.4)
  • 2019-12-05 - दोनों पक्षों ने जवाब दिया और जानकारी प्रकाशित करने पर सहमति व्यक्त की
  • इस PoC में शामिल फ़ाइलें

    • composer.json
    • upload.php
    • inject.php

    उपयोग

    upload.php स्क्रिप्ट verot.net के github से उदाहरण कोड है। मैंने सोचा कि उनके स्वयं के उदाहरण कोड का उपयोग करके इस कमजोरी को प्रदर्शित करना सबसे अच्छा होगा।

    • टर्मिनल में "php inject.php" चलाएँ, यह फ़ाइल में एक सरल पेलोड के साथ एक नमूना छवि उत्पन्न करेगा।
    • जब स्क्रिप्ट समाप्त हो जाएगी तो यह "image.jpg.phar" नामक एक फ़ाइल तैयार करेगा।
    • upload.php फ़ाइल पर ब्राउज़ करें और image.jpg.phar अपलोड करें, यह प्रक्रिया से गुज़रेगा और अब आपके पास एक शेल होगा

    उदाहरण

    root@kitploit:~
    user@ayu:/var/www/html# php inject.php 
    -=Imagejpeg injector 1.7=-
    [+] Fetching image (100 X 100) from http://lorempixel.com/100/100/
    [+] Jumping to end byte
    [+] Searching for valid injection point
    [!] Temp solution, if you get a 'recoverable parse error' here, it means it probably failed
    [+] It seems like it worked!
    [+] Result file: image.jpg.phar
    
    root@kitploit:~
    user@ayu:/var/www/html# curl -v -o - http://localhost/images/image_resized.phar?c=uname%20-a | grep -aPo "(Linux.*GNU)"
    Linux ayu 5.0.0-36-generic #39-Ubuntu SMP Tue Nov 12 09:46:06 UTC 2019 x86_64 x86_64 x86_64 GNU
    

    प्रस्तावित समाधान

    • फ़ाइल एक्सटेंशन को ब्लैकलिस्ट न करें।
    • इसके बजाय डिफ़ॉल्ट रूप से अनुमत एक्सटेंशन की श्वेतसूची का उपयोग करें।
    • या अपलोड की गई फ़ाइलों पर बिल्कुल भी एक्सटेंशन न रखें, और मूल नाम कहीं और संग्रहीत करें।

    संदर्भ

    • https://github.com/verot/class.upload.php/blob/2.0.3/src/class.upload.php#L3068

    Joomla K2 एक्सटेंशन में हमले का उदाहरण

    JoomlaWorks K2 <= 2.10.1 में class.upload.php के अप्रकाशित संस्करण के कारण मनमाना फ़ाइल अपलोड जो दूरस्थ कोड निष्पादन की ओर ले जाता है

    वेबसाइट

    • https://getk2.org/

    नमूना छवियाँ

    एक सामान्य उपयोगकर्ता inject.php द्वारा उत्पन्न छवि को अपलोड करता है, जिसमें एक सरल पेलोड होता है। यह class.upload.php में एक्सटेंशन फ़िल्टर को बाईपास करेगा और लाइब्रेरी में की गई छवि हैंडलिंग द्वारा नष्ट नहीं होगा। यह एक सामान्य छवि की तरह प्रस्तुत होगा, जो अधिक सूक्ष्म है।



    फ़ाइल अपलोड की जाएगी और एक बैकडोर के रूप में एक्सेस की जा सकती है और कमांड निष्पादित कर सकती है।

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