एक अपर्याप्त ग्राहक के बारे में एक छोटी कहानी और 1 मिनट में एक साइट पर भेद्यता प्राप्त करना ।
मुझे उम्मीद नहीं थी कि यह विशेष कहानी हेरेब पर मेरा पहला लेख होगा। मैं लिख रहा हूँ जब यह गर्म है!आगे जो आप पढ़ते हैं, वह किसी को कार्रवाई करने या किसी से "समझौता" करने का प्रयास नहीं है।5 अप्रैल, 2020.मैंने लिंक्डइन में एक संदेश देखा : “शुभ दोपहर। हम yii2 पर प्रोजेक्ट को अंतिम रूप देने के लिए एक डेवलपर की तलाश कर रहे हैं ... tel: + 79 ... whatsapp " whatsappमें पोस्ट किया गया :" अच्छा दिन। मैं लिंक्डिन से हूं, टीके भेजें, यदि कोई हो। " जवाब में, उन्हें साइट के लिंक, ट्रेलो में एक बोर्ड और एक छोटे टीके के साथ एक बड़ा संदेश मिला । ट्रेलो का
अध्ययन किया । बोर्ड के अनुसार, कम से कम 4 डेवलपर्स ने परियोजना पर काम किया। 6 अप्रैल, 2020,
संगरोध के कारण, मेरी राय में, लोग पागल होने लगे हैं। यहाँ जब मैंने जागने पर व्हाट्सएप में देखा था :
सब कुछ लगता है, कुछ भी नहीं पढ़ा और भूल गया। लेकिन अंदर कुछ भी आराम नहीं देता था, अपूर्णता की भावना थी, जिसे मैं वास्तव में छुटकारा चाहता था।"अपराधी" की परियोजना में शामिल होने और अंदर की अप्रिय उत्तेजनाओं से छुटकारा पाने के अलावा कुछ नहीं बचा था: डी।उलटी गिनती शुरू हो गयी।00:00 मैंनेसाइट ओपन की।मैं खोज फ़ॉर्म देखता हूं और पहले से ज्ञात SQL इंजेक्शन की जांच करने का प्रयास करता हूं :' UNION SELECT
1,group_concat(username,0x7c,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
fRom user
जैसा कि अपेक्षित था - यह काम नहीं करता है , लेकिन यह एक कोशिश के लायक था।00:20साइट के पास दो तरीकों से पंजीकरण करने का अवसर है: एक उपयोगकर्ता के रूप में और एक कंपनी के रूप में । ट्रेलोमें देखे गए स्क्रीनशॉट के आधार पर , मैंने कंपनी के व्यक्तिगत खाते के साथ पंजीकरण और काम करने का फैसला किया । उन क्षेत्रों को भरें जहां सामने लाइनों की अनुमति देता हैSELECT * FROM users;
डेटाबेस में देखने पर बस डेवलपर्स की "उपस्थिति प्रभाव" को बढ़ाने के लिए।00:40सफल पंजीकरण के बाद, हम कंपनी प्रोफाइल पेज पर रीडायरेक्ट हो जाएंगे ।मेनू आइटम "दस्तावेज़ लोड करें" खोलें (बहुत सुविधाजनक है, यह नहीं है: डी) और php फ़ाइल को लोड करने का प्रयास करें ।
पहले मैंने adminer.php डाउनलोड किया , क्योंकि यह हाथ में था। फ़ाइल को सफलतापूर्वक अपलोड किया गया था और डेवलपर्स ने मेरे लिए सावधानीपूर्वक तैयार किया था जो फ़ाइल के लिंक के साथ पृष्ठ पर रीडायरेक्ट करता है।
यह लिंक द्वारा खोला गया: /upload/certified/15861775921.php
और ठीक से काम किया।यह अंत की शुरुआत थी!1:00अगला, उसी फॉर्म के माध्यम से सरलतम php-web-shell लोड करें ।पहले आपको यह समझने की जरूरत है कि हम कौन हैं और हम कहां हैं:pwd && whoami
आइए साइट निर्देशिका फ़ाइलों की सूची देखें:ls /var/www/admin/data/www/_/
हम Yii2 ढांचे की मानक संरचना देखते हैं , जिसकी हमें उम्मीद थी।हम डेटाबेस तक पहुँच प्राप्त करते हैं, जिसे पहले से लोड किए गए admin.php में दर्ज किया जा सकता है :cat /var/www/admin/data/www/_/config/db.php
वास्तव में, मुझे आश्चर्य हुआ कि ऐसी कमजोरियां अभी भी मौजूद हैं। और इससे भी अधिक क्योंकि वे इतनी आसानी से और जल्दी से पाए जा सकते हैं।वैसे, यह संयुक्त अरब अमीरात की एक कंपनी की परियोजना थी, जो तेल, गैस और ड्रिलिंग उद्योगों के लिए ड्रिलिंग और औद्योगिक उत्पादों की आपूर्ति में लगी हुई है।मुझे अंतिम संदेश के बाद व्हाट्सएप में ब्लैकलिस्ट में जोड़ा गया था और मैं भेद्यता के बारे में बात नहीं कर सकता था, इसलिए मैंने डेवलपर्स के लिए सर्वर पर ईस्टर अंडे छोड़ दिए।सर्वर साइड पर फाइल टाइप चेकिंग करना न भूलें, और आमतौर पर अपने कोड की सुरक्षा पर अधिक ध्यान दें!