क्या आप अपनी वेबसाइट पर SQL इंजेक्शन हमलों के बारे में चिंतित हैं? यदि आप इसे पढ़ रहे हैं, तो आप पहले से ही हमले के परिणामों को जान सकते हैं। इस पोस्ट में, आप SQL इंजेक्शन को रोकने के आसान तरीके सीखेंगे।
SQL इंजेक्शन एक हैकर को आपकी वर्डप्रेस साइट को हाईजैक करने और उस पर नियंत्रण रखने में सक्षम बनाता है। वहां से, वे आपके ट्रैफ़िक को पुनर्निर्देशित कर सकते हैं, गोपनीय डेटा चुरा सकते हैं, स्पैम लिंक इंजेक्ट कर सकते हैं, जापानी वर्णों के साथ खोज परिणामों में हेरफेर कर सकते हैं और अवैध उत्पादों के विज्ञापन प्रदर्शित कर सकते हैं। इस तरह के हमले से आपकी साइट और आपके व्यवसाय को अपूरणीय क्षति हो सकती है।
सौभाग्य से, यदि आप सही सुरक्षा उपाय करते हैं तो SQL इंजेक्शन रोके जा सकते हैं। इस गाइड में, हम SQL इंजेक्शन को संबोधित करते हैं और उन्हें रोकने और आपकी वर्डप्रेस वेबसाइट की सुरक्षा के लिए प्रभावी उपायों पर गहराई से चर्चा करते हैं।
TL;DR: आप विश्वसनीय सुरक्षा प्लगइन का उपयोग करके अपनी वर्डप्रेस साइट पर SQL इंजेक्शन को रोक सकते हैं। MalCare इंस्टाल करें और प्लग इन स्वचालित रूप से स्कैन करेगा और ऐसे हमलों से आपकी साइट की रक्षा करेगा।
SQL इंजेक्शन अटैक क्या हैं?
सभी वर्डप्रेस साइटों में आमतौर पर इनपुट के क्षेत्र होते हैं जो एक आगंतुक को जानकारी दर्ज करने की अनुमति देते हैं। यह साइट खोज बार, संपर्क फ़ॉर्म या लॉगिन फ़ॉर्म . हो सकता है ।
एक संपर्क फ़ॉर्म में, एक विज़िटर अपना डेटा जैसे नाम, फ़ोन नंबर और ईमेल दर्ज करेगा और इसे आपकी साइट पर सबमिट करेगा।
यह डेटा आपकी वेबसाइट के MySQL डेटाबेस में भेजा जाता है। इसे यहां संसाधित और संग्रहीत किया जाता है।
अब, इन इनपुट फ़ील्ड को यह सुनिश्चित करने के लिए उचित कॉन्फ़िगरेशन की आवश्यकता है कि डेटा आपके डेटाबेस में प्रवेश करने से पहले सत्यापित और स्वच्छ हो। उदाहरण के लिए, एक संपर्क फ़ॉर्म भेद्यता यह है कि उसे केवल अक्षरों और संख्याओं को स्वीकार करना चाहिए। इसे आदर्श रूप से प्रतीकों को स्वीकार नहीं करना चाहिए। अब, यदि आपकी साइट इस फ़ॉर्म के माध्यम से कोई डेटा स्वीकार करती है, तो हैकर लाभ उठा सकता है और दुर्भावनापूर्ण SQL क्वेरी सम्मिलित कर सकता है जैसे:
txtUserId = getRequestString("UserId");
txtSQL = "SELECT * FROM Users WHERE UserId = " + txtUserId;
एक बार स्क्रिप्ट आपके डेटाबेस में स्टोर हो जाने के बाद, हैकर्स इसे आपकी वेबसाइट पर नियंत्रण पाने के लिए चलाते हैं। फिर वे SQL इंजेक्शन का फायदा उठाने, आपकी साइट में सेंध लगाने और दुर्भावनापूर्ण गतिविधियों को अंजाम देने के लिए आगे बढ़ सकते हैं। वे ग्राहकों को धोखा देना शुरू कर सकते हैं, आगंतुकों को फ़िशिंग साइटों पर पुनर्निर्देशित कर सकते हैं, और इसी तरह।
इसलिए, अगर आपकी वेबसाइट इन इनपुट फ़ील्ड से डेटा को साफ़ नहीं करती है, तो इसका मतलब है कि इसमें SQL इंजेक्शन भेद्यता है।
SQL हमला कैसे काम करता है?
हैकर्स उन वेबसाइटों को लक्षित करते हैं जिनमें कमजोर सुरक्षा उपाय या कमजोरियां मौजूद होती हैं जो उनके लिए इसे तोड़ना आसान बनाती हैं। हमारे अनुभव में, प्लगइन्स और थीम अक्सर कमजोरियां विकसित करते हैं और हैकर्स इसके बारे में अच्छी तरह जानते हैं। वे असुरक्षित प्लग इन और थीम का उपयोग करने वाली साइटों की खोज में लगातार इंटरनेट की खोज करते हैं।
इसे समझाने के लिए, हम एक उदाहरण परिदृश्य का उपयोग करेंगे। मान लीजिए मिस्टर ए अपनी वेबसाइट के कॉन्टैक्ट पेज पर एक फ़ॉर्म को पावर देने के लिए एक प्लगइन 'संपर्क फ़ॉर्म' का उपयोग कर रहा है। आइए मान लें कि संस्करण 2.4 में इस प्लगइन में एक SQL इंजेक्शन भेद्यता पाई गई थी और डेवलपर्स ने इसे ठीक किया और एक अद्यतन संस्करण 2.4.1 जारी किया।
रिलीज होने पर, डेवलपर्स सुरक्षा दोष को सार्वजनिक ज्ञान बनाते हुए अद्यतन के कारण का खुलासा करते हैं। इसका मतलब है कि हैकर्स जानते हैं कि संपर्क फ़ॉर्म प्लगइन के संस्करण 2.4 में एक सुरक्षा खामी मौजूद है।
अब, श्री एक्स कुछ हफ्तों के लिए अपडेट को स्थापित करने में देरी करता है क्योंकि अपडेट को चलाने के लिए बस समय नहीं है। यहीं चीजें गलत हो जाती हैं।
एक बार जब हैकर्स को कमजोरियों के बारे में पता चल जाता है, तो वे प्रोग्राम चलाते हैं या भेद्यता स्कैनर का उपयोग करते हैं जो इंटरनेट के माध्यम से क्रॉल करेगा और एक प्लगइन/थीम के एक विशेष संस्करण का उपयोग करके वेबसाइटों को ढूंढेगा।
इस मामले में, वे संपर्क फ़ॉर्म 2.4 का उपयोग करके वेबसाइटों की तलाश करेंगे। एक बार जब वे साइट ढूंढ लेते हैं, तो उन्हें सटीक वेब भेद्यता का पता चल जाएगा जिससे उनके लिए हैक करना बहुत आसान हो जाता है। इस मामले में, वे SQL इंजेक्शन दोष का फायदा उठाएंगे और आपकी साइट में सेंध लगाएंगे।
एसक्यूएल इंजेक्शन के प्रकार
हैकर दो तरह के SQL इंजेक्शन का इस्तेमाल करते हैं:
<मजबूत>1. क्लासिक SQL इंजेक्शन – जब आप किसी वेबसाइट पर जाते हैं, तो आपका ब्राउज़र (जैसे क्रोम या मोज़िला) वेबसाइट के सर्वर को सामग्री प्रदर्शित करने के लिए एक HTTP अनुरोध भेजता है। वेब सर्वर साइट के डेटाबेस से सामग्री प्राप्त करता है और इसे आपके ब्राउज़र पर वापस भेजता है। इस तरह आप किसी वेबसाइट के फ्रंट एंड को देखने में सक्षम होते हैं।
अब, आपकी वेबसाइट के डेटाबेस में गोपनीय डेटा जैसे ग्राहक विवरण, भुगतान जानकारी और उपयोगकर्ता नाम और पासवर्ड सहित सभी प्रकार के डेटा शामिल हैं। आपका डेटाबेस केवल फ्रंट-एंड डेटा जारी करने के लिए कॉन्फ़िगर किया जाना चाहिए। अन्य सभी गोपनीय डेटा को सुरक्षित रखा जाना चाहिए। लेकिन अगर ये एप्लिकेशन सुरक्षा जांच नहीं होती हैं, तो हैकर इसका फायदा उठाते हैं।
एक क्लासिक SQL इंजेक्शन हमले में, हैकर्स आपके डेटाबेस को दुर्भावनापूर्ण अनुरोध भेजते हैं और डेटा को उनके ब्राउज़र में पुनः प्राप्त करते हैं। लेकिन वे आपकी वेबसाइट के लॉगिन क्रेडेंशियल जैसी संवेदनशील जानकारी के लिए अनुरोध करने के लिए क्वेरी स्ट्रिंग का उपयोग करते हैं। यदि आपने इस जानकारी को सुरक्षित नहीं रखा है, तो इसे हैकर को भेज दिया जाएगा। इस तरह, वे आपके लॉगिन विवरण पर अपना हाथ रख सकते हैं और आपकी साइट में सेंध लगा सकते हैं। उच्च दक्षता के साथ बार-बार एक ही या समान डेटाबेस स्टेटमेंट को निष्पादित करने के तरीके के रूप में हमलावर भी तैयार किए गए बयानों का उपयोग कर सकते हैं।
<मजबूत>2. ब्लाइंड SQL इंजेक्शन – इसमें हैकर आपकी वेबसाइट पर इनपुट फील्ड के जरिए दुर्भावनापूर्ण स्क्रिप्ट को इंजेक्ट करता है। एक बार जब यह आपके डेटाबेस में संग्रहीत हो जाता है, तो वे इसे आपकी साइट की सामग्री को बदलने या यहां तक कि आपके संपूर्ण डेटाबेस को हटाने जैसे सभी प्रकार के नुकसान करने के लिए निष्पादित करते हैं। इस मामले में, वे व्यवस्थापकीय विशेषाधिकार प्राप्त करने के लिए भी दुर्भावनापूर्ण स्क्रिप्ट का उपयोग कर सकते हैं।पी>
दोनों ही परिदृश्य आपकी वेबसाइट और आपके व्यवसाय पर विनाशकारी प्रभाव डाल सकते हैं। सौभाग्य से, आप अपनी वेबसाइट पर सही सुरक्षा और इनपुट सत्यापन उपाय करके ऐसे हमलों को रोक सकते हैं।
एसक्यूएल इंजेक्शन हमलों को रोकने के लिए कदम
SQL इंजेक्शन हमलों को रोकने के लिए, आपको अपनी वेबसाइट का सुरक्षा मूल्यांकन करने की आवश्यकता है। SQL हमलों को रोकने के लिए आप दो तरह के उपाय कर सकते हैं - कुछ आसान हैं और कुछ जटिल और तकनीकी हैं।
आसान निवारक उपाय
- सुरक्षा प्लग इन इंस्टॉल करें
- केवल विश्वसनीय थीम और प्लग इन का उपयोग करें
- अपनी साइट पर कोई भी पायरेटेड सॉफ़्टवेयर हटाएं
- निष्क्रिय थीम और प्लग इन हटाएं
- अपनी वेबसाइट को नियमित रूप से अपडेट करें
तकनीकी निवारक उपाय
- डिफ़ॉल्ट डेटाबेस नाम बदलें
- फ़ील्ड प्रविष्टियां और डेटा सबमिशन नियंत्रित करें
- अपनी वर्डप्रेस वेबसाइट को सख्त करें
आइए शुरू करें।
एसक्यूएल इंजेक्शन हमलों के खिलाफ आसान निवारक उपाय
<एच4>1. सुरक्षा प्लग इन इंस्टॉल करेंवेबसाइट सुरक्षा प्लगइन को सक्रिय करना आपकी वेबसाइट की सुरक्षा के लिए पहला कदम है। वर्डप्रेस सुरक्षा प्लगइन्स आपकी साइट की निगरानी करेंगे और हैकर्स को इसमें घुसने से रोकेंगे।
चुनने के लिए बहुत सारे प्लगइन्स हैं, लेकिन इसे क्या पेश करना है, इसके आधार पर हम MalCare को चुनते हैं। आपकी साइट को हमलों से बचाने के लिए प्लगइन स्वचालित रूप से एक वेब एप्लिकेशन फ़ायरवॉल स्थापित करेगा। हैक के प्रयासों की पहचान की जाती है और उन्हें ब्लॉक कर दिया जाता है।
इसके बाद, प्लगइन का सुरक्षा स्कैनर हर दिन आपकी साइट को अच्छी तरह से स्कैन करेगा। यदि आपकी साइट पर कोई संदिग्ध व्यवहार या दुर्भावनापूर्ण गतिविधि है, तो आपको तुरंत सूचित किया जाएगा। इससे पहले कि Google को आपकी साइट को ब्लैकलिस्ट करने का मौका मिले या आपका होस्टिंग प्रदाता आपकी साइट को निलंबित करने का फैसला करे, आप कार्रवाई कर सकते हैं और MalCare के साथ अपनी साइट को तुरंत ठीक कर सकते हैं।
<एच4>2. अपनी वेबसाइट को नियमित रूप से अपडेट करेंजैसा कि हमने पहले अपने SQL इंजेक्शन उदाहरण में उल्लेख किया है, जब डेवलपर्स अपने सॉफ़्टवेयर में सुरक्षा दोष पाते हैं, तो वे इसे ठीक करते हैं और एक नया संस्करण जारी करते हैं जिसमें सुरक्षा पैच होता है। अपनी साइट की खामियों को दूर करने के लिए आपको नए संस्करण में अपडेट करना होगा।
हमारा सुझाव है कि आप अपने वर्डप्रेस कोर इंस्टॉलेशन, थीम और प्लगइन्स को अपडेट करने के लिए सप्ताह में एक बार समय दें।
हालांकि, यदि आप देखते हैं कि एक सुरक्षा अद्यतन जारी किया गया है, तो अद्यतन को तुरंत स्थापित करें।
<एच4>3. केवल विश्वसनीय थीम और प्लग इन का उपयोग करेंवेबसाइट बनाने के लिए वर्डप्रेस सबसे लोकप्रिय प्लेटफॉर्म है और यह आंशिक रूप से प्लगइन्स और थीम के कारण है जो इसे आसान और किफायती बनाते हैं। लेकिन उपलब्ध थीम और प्लगइन्स के ढेरों में से, आपको सावधानी से चुनने की आवश्यकता है। प्लगइन के विवरण की जाँच करें जैसे कि सक्रिय इंस्टॉल की संख्या, अंतिम अद्यतन तिथि, और जिस संस्करण के साथ इसका परीक्षण किया गया है।
हम उन्हें वर्डप्रेस रिपॉजिटरी से डाउनलोड करने की सलाह देते हैं। किसी भी अन्य थीम और प्लगइन्स के लिए, आपको यह सत्यापित करने के लिए उचित शोध करना चाहिए कि उन पर भरोसा किया जा सकता है। ऐसा इसलिए है क्योंकि कुछ तृतीय-पक्ष थीम और प्लगइन्स हैकर्स द्वारा दुर्भावनापूर्ण रूप से तैयार किए जा सकते हैं। इसे बुरी तरह से कोडित भी किया जा सकता है जो इसे कमजोरियों के लिए खोलता है।
<एच4>4. अपनी साइट पर कोई भी पायरेटेड सॉफ़्टवेयर हटाएंपायरेटेड या अशक्त थीम और प्लगइन्स मोहक हैं। यह आपको मुफ्त में प्रीमियम सुविधाओं तक पहुंच प्रदान करता है। लेकिन दुर्भाग्य से, ये आमतौर पर प्रीलोडेड मैलवेयर के साथ आते हैं। पायरेटेड सॉफ़्टवेयर हैकर्स के लिए अपने मैलवेयर वितरित करने का एक आसान तरीका है।
जब आप इसे इंस्टॉल करते हैं, तो मैलवेयर सक्रिय हो जाता है और आपकी साइट को संक्रमित कर देता है। ऐसे सॉफ़्टवेयर से दूर रहना ही सबसे अच्छा है।
5. निष्क्रिय थीम और प्लग इन हटाएं
एक प्लगइन स्थापित करना और इसे वर्षों तक पूरी तरह से भूल जाना आम बात है। लेकिन यह आदत आपकी साइट को हैकर्स के सामने ला सकती है। आपने अपनी साइट पर जितने अधिक प्लगइन्स और थीम इंस्टॉल किए हैं, उतनी ही अधिक संभावना है कि कमजोरियां दिखाई दें और हैकर्स उनका लाभ उठाएं।
हमारा सुझाव है कि केवल आपके द्वारा उपयोग किए जाने वाले प्लगइन्स और थीम को ही रखें। बाकी को हटा दें और अपनी साइट को अधिक सुरक्षित बनाएं। अपनी मौजूदा थीम और प्लग इन को भी नियमित रूप से स्कैन करें।
तकनीकी निवारक उपाय
इन उपायों के लिए वर्डप्रेस के आंतरिक कामकाज के बारे में थोड़ा और ज्ञान की आवश्यकता हो सकती है। हालाँकि, आजकल, हर चीज के लिए एक प्लगइन है। इसलिए आपको इन उपायों को लागू करने में शामिल जटिलताओं के बारे में चिंता करने की ज़रूरत नहीं है। हम इसे आसान बनाते हैं!
<एच4>1. डिफ़ॉल्ट डेटाबेस तालिका का नाम बदलेंआपकी वर्डप्रेस साइट फाइलों और डेटाबेस से बनी है। आपके डेटाबेस में, डिफ़ॉल्ट रूप से 11 टेबल हैं। प्रत्येक तालिका में विभिन्न डेटा और कॉन्फ़िगरेशन होते हैं। इन तालिकाओं को उपसर्ग 'wp_' नाम दिया गया है। तो तालिकाओं का नाम wp_options, wp_users, wp_meta हो सकता है। आपको बहाव मिलता है।
ये नाम सभी वर्डप्रेस साइटों पर समान हैं और हैकर्स इसे जानते हैं। हैकर्स जानते हैं कि कौन सी टेबल किस तरह का डेटा स्टोर करती है। जब हैकर आपकी वेबसाइट पर दुर्भावनापूर्ण स्क्रिप्ट डालते हैं, तो वे जानते हैं कि स्क्रिप्ट कहाँ संग्रहीत की जाएगी। एक सरल विधि का उपयोग करके, वे दुर्भावनापूर्ण गतिविधियों को चलाने के लिए SQL कमांड निष्पादित कर सकते हैं।
लेकिन यदि आप तालिका का नाम बदलते हैं, तो यह हैकर्स को यह पता लगाने से रोक सकता है कि स्क्रिप्ट कहाँ स्थित हैं। इसलिए जब हैक आपके डेटाबेस टेबल में SQL कोड डालने की कोशिश करते हैं, तो वे टेबल के नाम का पता नहीं लगा पाएंगे।
आप Change Table Prefix या Brozzme जैसे प्लगइन का उपयोग करके ऐसा कर सकते हैं। बस उनमें से एक को अपनी साइट पर स्थापित करें और चरणों का पालन करें।
आप इसे मैन्युअल रूप से अपनी wp-config फ़ाइल को संपादित करके भी कर सकते हैं। सावधानी बरतने के लिए - यहाँ एक छोटी सी चूक डेटाबेस त्रुटियों और साइट की खराबी का कारण बन सकती है। आगे बढ़ने से पहले बैकअप लें।
- अपने होस्टिंग खाते> cPanel> फ़ाइल प्रबंधक पर जाएँ।
- यहां, public_html फोल्डर तक पहुंचें और wp-config फाइल पर राइट-क्लिक करें।
- संपादित करें का चयन करें और निम्नलिखित कोड खोजें
"$table_prefix ='wp_';" - इसे इसके साथ बदलें -
"$table_prefix ='test_';"
आप अपनी पसंद का कोई भी उपसर्ग चुन सकते हैं। यहां हमने 'test_' को नए डेटाबेस नाम के रूप में चुना है। एक बार हो जाने के बाद, हैकर्स अपने SQL कमांड का पता नहीं लगा पाएंगे।
<एच4>2. फ़ील्ड प्रविष्टियाँ और डेटा सबमिशन नियंत्रित करेंआप केवल कुछ प्रकार के डेटा को स्वीकार करने के लिए अपनी वेबसाइट पर सभी इनपुट फ़ील्ड कॉन्फ़िगर कर सकते हैं। उदाहरण के लिए, एक नाम फ़ील्ड को केवल अल्फा प्रविष्टियों (अक्षरों) की अनुमति देनी चाहिए क्योंकि कोई कारण नहीं है कि यहां संख्यात्मक वर्ण दर्ज किए जाने चाहिए। इसी तरह, एक संपर्क नंबर फ़ील्ड को केवल अंक स्वीकार करना चाहिए।
आप sanitize_text_field() फ़ंक्शन का उपयोग कर सकते हैं जो उपयोगकर्ता इनपुट को स्वच्छ करता है। यह इनपुट सत्यापन सुनिश्चित करता है कि जो प्रविष्टियां सही नहीं हैं या केवल खतरनाक हैं उन्हें अवरुद्ध किया जा सकता है।
<एच4>3. अपनी वर्डप्रेस वेबसाइट को सख्त करेंयह आपकी वर्डप्रेस साइट को SQL इंजेक्शन हमलों से बचाने के लिए सबसे महत्वपूर्ण कदमों में से एक है। वेबसाइट हार्डनिंग क्या है?
एक वर्डप्रेस वेबसाइट आपको साइट चलाने में मदद करने के लिए कई कार्य प्रदान करती है। हालाँकि, अधिकांश लोग इनमें से कई कार्यों का उपयोग नहीं करते हैं। यदि आप उनका उपयोग नहीं करते हैं तो WordPress.org उनमें से कुछ को अक्षम करने या हटाने की अनुशंसा करता है। इससे हमलों की संभावना कम हो जाएगी क्योंकि हैकर्स के लिए कोशिश करने के लिए कम तत्व हैं!
कुछ वर्डप्रेस सख्त उपाय हैं:
- फ़ाइल संपादक को अक्षम करना
- प्लगइन या थीम इंस्टॉलेशन को अक्षम करना
- 2-कारक प्रमाणीकरण लागू करना
- लॉगिन प्रयासों को सीमित करना
- WordPress सुरक्षा कुंजियों और लवणों को बदलना
- अज्ञात फ़ोल्डरों में PHP निष्पादन को अवरुद्ध करना
इन उपायों को लागू करने के लिए, आप MalCare जैसे प्लगइन का उपयोग कर सकते हैं जो आपको कुछ ही क्लिक के साथ ऐसा करने देता है।
या आप वर्डप्रेस हार्डनिंग पर हमारे गाइड का पालन करके इसे मैन्युअल रूप से लागू कर सकते हैं।
यह हमें SQL इंजेक्शन हमलों को रोकने के अंत में लाता है। If you’ve implemented the measures we’ve discussed in this SQL injection cheat sheet, your site will be safe
SQL injection attacks can be prevented! Use this guide to implement the right security measures on your WordPress site. Click to TweetFinal Thoughts
Prevention really is better than cure. SQL injection attacks can cause unnecessary stress and severe financial burden.
Most of the measures we discussed today can be easily implemented with the use of plugins. So you needn’t be worried if you are not tech-savvy! You can still protect yourself!
Along with implementing these measures, we strongly suggest activating MalCare on your site. Its firewall will actively defend your website against attacks. It scans your site every day to check for hack attempts and malware on your site.
You can think of it as your website security guard that monitors your site and keeps the bad guys out. You can have peace of mind knowing your site is protected.
Prevent Hack Attacks With Our MalCare Security Plugin!