आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

फ़ाइल अपलोड मॉड्यूल वेब एप्लिकेशन में सबसे कमजोर लिंक में से एक हैं। की गई कोई भी गलती, यहां तक ​​कि जिन्हें आप छोटा मानते हैं, सर्वर नियंत्रण सीधे साइबर हमलावर के हाथों में पड़ सकता है। इस कारण से, सॉफ्टवेयर डेवलपर्स को सबसे आम गलतियों और हमले के कुछ तरीकों को जानने की जरूरत है जो हो सकते हैं।

तो क्लाइंट साइड टैम्परिंग क्या है? आप अपनी साइटों और अपने उपयोगकर्ताओं को सुरक्षित रखने के लिए इसका मुकाबला कैसे कर सकते हैं?

क्लाइंट साइड टैम्परिंग क्या है?

क्लाइंट-साइड छेड़छाड़ संपूर्ण रूप से वेब एप्लिकेशन हमलों की मूल अवधारणा है। सीधे शब्दों में कहें तो इसका मतलब है कि अब आप उपयोगकर्ता को भेजे जाने वाले किसी भी डेटा पर भरोसा नहीं कर सकते हैं। इसके अलावा, क्लाइंट-साइड छेड़छाड़ सुरक्षित अनुप्रयोग विकास की नींवों में से एक है। यदि आप उस फ़ाइल अपलोड मॉड्यूल की जांच करते हैं जिसके साथ आप काम कर रहे हैं और क्लाइंट-साइड छेड़छाड़ पर विचार कर रहे हैं, तो आप जिस डेटा पर भरोसा नहीं कर सकते हैं उसमें शामिल हैं:

instagram viewer
  • अपलोड की गई फ़ाइल का नाम।
  • अपलोड की गई फ़ाइल का सामग्री-प्रकार।

ये दो आइटम कहां हैं आपके पास श्वेतसूची करने का अवसर है एक सॉफ्टवेयर डेवलपर के रूप में। अपलोड की गई फ़ाइल के नाम डेटा में क्लाइंट-साइड छेड़छाड़ के साथ कुछ भी हो सकता है। अपलोड की गई फ़ाइल के सामग्री-प्रकार डेटा के साथ, भले ही हमलावर .exe फ़ाइल अपलोड कर रहा हो, यह फ़ाइल सिस्टम में छवि/जेपीईजी के रूप में दिखाई दे सकती है।

फ़ाइल एक्सटेंशन और व्हाइट लिस्टिंग

फ़ाइल अपलोड मॉड्यूल विकसित करते समय, सबसे पहला काम यह करना है फ़ाइल एक्सटेंशन के लिए श्वेतसूचीकरण प्रक्रिया. उदाहरण के लिए, एक उपयोगकर्ता "muo.jpeg" नामक फ़ाइल अपलोड करना चाहता है। आपको सुनिश्चित करना होगा कि यह फ़ाइल एक्सटेंशन जिसे उपयोगकर्ता अपलोड करना चाहता है वह .jpeg है। इसके लिए, सिस्टम को अपलोड की गई फ़ाइल की जाँच करनी चाहिए और देखना चाहिए कि क्या यह अनुमत फ़ाइल एक्सटेंशन में से एक है। यह समझने के लिए कि आप यह कैसे कर सकते हैं, निम्न सरल PHP कोड की जाँच करें:

$file_parts = पाथइन्फो ($ फ़ाइल नाम);
बदलना($file_parts['एक्सटेंशन'])
{
मामला "जेपीजी":
तोड़ना;

मामला "बल्ला": // या exe, dll, so, आदि।
तोड़ना;

मामला "":
मामलाव्यर्थ: // कोई फ़ाइल एक्सटेंशन नहीं
तोड़ना;
}

आप इसे उपरोक्त के समान कोड ब्लॉक के साथ कर सकते हैं, या आप उपयोग किए जा रहे ढांचे द्वारा प्रदान की गई कक्षाओं और कार्यों का उपयोग कर सकते हैं।

डॉट (.) वर्ण के अनुसार फ़ाइल नाम को पार्स करके फ़ाइल एक्सटेंशन डेटा बनाने के लिए सावधान रहें, क्योंकि हमलावर इस चेक चरण को "muo.jpeg.php" जैसे फ़ाइल नाम से बायपास कर सकता है।

सामग्री-प्रकार की जानकारी क्या है?

सामग्री-प्रकार की जानकारी प्रत्येक फ़ाइल अपलोड के लिए HTTP अनुरोध में भेजी गई जानकारी का एक भाग है। इंटरनेट ब्राउज़र इस जानकारी का पता लगाता है और इसे भेजे गए अनुरोध में जोड़ता है। हमलावर क्लाइंट-साइड छेड़छाड़ और सर्वर-साइड सत्यापन को बायपास करके जानकारी को बदलने का प्रयास कर सकता है। इस स्तर पर, सामग्री-प्रकार की जानकारी पर सत्यापन करने के लिए डेवलपर्स को एक नियंत्रण तंत्र की आवश्यकता होती है। केवल यही काफी नहीं होगा; फिर भी, डेवलपर्स के लिए ध्यान देना एक महत्वपूर्ण मुद्दा है।

मान लें कि आप फ़ाइल एक्सटेंशन को सही ढंग से जांचने के लिए एक तंत्र को एन्कोड करते हैं, और आप केवल .jpeg एक्सटेंशन वाली फ़ाइलें स्वीकार करते हैं। इस एहतियाती तंत्र के अलावा, आप सामग्री-प्रकार की जानकारी को अभी देख सकते हैं मामला और केवल छवि/जेपीईजी जानकारी वाली फाइलें स्वीकार करें, के खिलाफ सुरक्षा का एक अतिरिक्त स्तर साइबर हमले

एसडब्ल्यूएफ फ्लैश फाइल्स और अटैक स्टेप्स

फ़ाइल एक्सटेंशन और सामग्री-प्रकार डेटा का उन इंटरनेट ब्राउज़रों से कोई मतलब नहीं है जो Adobe Flash Player जैसे प्लग-इन का समर्थन करते हैं। हालांकि उस प्लेयर के लिए समर्थन अब उपलब्ध नहीं है, फिर भी उन संबंधित फाइलों को कई सिस्टम पर स्थापित करना संभव है, भले ही फ्लैश एक सुरक्षा जोखिम बना हुआ है. ऐसी प्रणाली में जिसने प्रासंगिक सावधानी नहीं बरती है, फ्लैश फ़ाइल को कॉल करना संभव है टैग, इसके विस्तार की परवाह किए बिना। इससे एक और गंभीर सुरक्षा समस्या पैदा होगी।

कार्रवाई करने के लिए, डेवलपर्स को यह जानने की जरूरत है कि साइबर अपराधी कौन से रास्ते अपना सकते हैं। यहां बताया गया है कि यह कैसे हो सकता है:

  1. दुर्भावनापूर्ण हमलावर लक्षित वेबसाइट पर "image.jpeg" नामक एक SWF (एक Adobe Flash फ़ाइल स्वरूप) अपलोड करता है। अपलोड प्रक्रिया के दौरान, श्वेतसूची सत्यापन में इसकी पुष्टि की जाती है कि हमलावर द्वारा अपलोड की गई फ़ाइल में .jpeg एक्सटेंशन है। क्लाइंट-साइड छेड़छाड़ के साथ सामग्री-प्रकार सत्यापन को बायपास कर दिया गया है। कल्पना कीजिए कि धमकी देने वाले अभिनेता द्वारा अपलोड की गई यह फ़ाइल "www (डॉट) लक्ष्य-साइट (डॉट) कॉम/इमेज/इमेजेज.जेपीईजी" पर जाती है।
  2. मान लीजिए कि हमलावर के पास हमलावर (डॉट) कॉम नामक एक वेबसाइट है। हमलावर इस वेबसाइट पर लक्ष्य साइट पर अपलोड की गई image.jpeg फ़ाइल को कॉल करता है एप्लिकेशन/एक्स-शॉकवेव-फ्लैश प्रकार असाइनमेंट के साथ टैग करें।
  3. एक निर्दोष उपयोगकर्ता हमलावर (डॉट) कॉम में प्रवेश करता है। वह साइट www (dot) target-site (dot) com/images/image.jpeg पर SWF फ़ाइल को कॉल करती है और SWF को दिए गए आदेशों को क्रियान्वित करती है।
  4. इसके माध्यम से, साइबर हमलावर सामान्य उपयोगकर्ताओं को नोटिस किए बिना लक्ष्य-साइट (डॉट) कॉम पते के लिए HTTP अनुरोध क्रियाएं बना सकता है। इन अनुरोधों के साथ, हमलावर निर्दोष उपयोगकर्ता के सत्र का उपयोग करेगा और बायपास करेगा सीएसआरएफ जांच.

इस हमले के परिदृश्य को और अधिक स्पष्ट रूप से समझने के लिए, निम्न कोड को HTML में होने पर विचार करें हमलावर (डॉट) कॉम द्वारा उपयोगकर्ता को भेजी गई सामग्री:

शैली ="ऊँचाई: 1 पीएक्स; चौड़ाई: 1 पीएक्स;" डेटा ="www.target-site.com/images/image.jpeg" टाइप ="एप्लिकेशन/एक्स-शॉकवेव-फ्लैश" अनुमति स्क्रिप्ट एक्सेस ="हमेशा" फ़्लैश वार ="सी = पढ़ें&यू = कुछ"

फ़ाइल अपलोड के माध्यम से अपलोड की गई फ़ाइलों तक पहुँचने के लिए सबसे अच्छे समाधानों में से एक है एक अलग उपडोमेन. उपर्युक्त परिदृश्य में, आप एक ही डोमेन से नहीं, बल्कि एक अलग सबडोमेन से स्थिर फ़ाइलों तक पहुँच सकते हैं: "http (colon) //file.target-site (dot) com/images/image.jpeg"।

एक और उपाय जोड़ना है सामग्री-विन्यास: लगाव जब आप उन फ़ाइलों तक पहुँच के लिए अनुरोध प्राप्त करते हैं, जिन्हें आप अपलोड करना चाहते हैं, तो HTTP प्रतिसाद के लिए जानकारी।

फ़ाइल अपलोड भेद्यताओं के लिए सावधानी बरतें

कोई भी फ़ाइल अपलोड जो उपयोगकर्ता किसी वेबसाइट पर कर सकते हैं वह खतरनाक है, इसलिए यह उन मुद्दों में से एक है जिन पर डेवलपर्स को सबसे अधिक ध्यान देना चाहिए। यदि हमलावरों को ऐसी भेद्यता का पता चलता है, तो वे साइट के भीतर एक शेल खोल सकते हैं और सर्वर पर आसानी से जानकारी का फायदा उठा सकते हैं। उपयोगकर्ताओं द्वारा अपलोड की गई सभी फाइलों को नियंत्रित करना, श्वेतसूची विधियों को लागू करना और यदि संभव हो तो अपलोड की गई निर्देशिका के स्थान को छिपाना महत्वपूर्ण है।

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