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



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

सर्वर गलत कॉन्फ़िगरेशन
1. कमजोर फ़ाइल अनुमतियाँ
फ़ाइल अनुमति एक निश्चित प्रकार के उपयोगकर्ता को एक विशेष PHP फ़ाइल को संशोधित करने का विशेषाधिकार देती है। इसलिए, यदि PHP फ़ाइल अनुमतियाँ ठीक से सेट नहीं हैं, तो यह हमलावरों को आपकी PHP फ़ाइलों को मैलवेयर स्पैम आदि के साथ इंजेक्ट करने की अनुमति दे सकती है।
2. डिफ़ॉल्ट पासवर्ड
कमजोर या आमतौर पर उपयोग किए जाने वाले पासवर्ड का उपयोग कस्टम PHP वेबसाइट हैक का एक सामान्य कारण है। एक अनुकूलित डिक्शनरी का उपयोग पासवर्ड के सभी संभावित संयोजनों को आज़माने के लिए किया जा सकता है। एक बार समझौता हो जाने पर, हमले के वेक्टर यानी FTP ब्रूट फोर्स या cPanel ब्रूट फोर्स के आधार पर; हमलावर कस्टम PHP साइट के एडमिन क्षेत्र तक पहुंच सकता है। हमलावर तब PHP मैलवेयर या बैकडोर अपलोड कर सकता है।
संबंधित लेख – वर्डप्रेस बैकडोर कैसे हटाएं?
3. डायरेक्टरी इंडेक्सिंग सक्षम
डायरेक्टरी इंडेक्सिंग सक्षम करने से हमलावर संवेदनशील PHP फ़ाइलों को पढ़ सकते हैं। यह सर्वर के बारे में हमलावरों को संवेदनशील जानकारी दे सकता है। हमलावर इस जानकारी का उपयोग आपके कस्टम PHP साइट पर साइबर हमले करने के लिए कर सकते हैं।
4. खुले पोर्ट
खुले पोर्ट कस्टम PHP वेबसाइट हैक का कारण हो सकते हैं। इसके अलावा, खुले पोर्ट का उपयोग हमलावर आपकी PHP साइट की बैकएंड सेवाओं को फिंगरप्रिंट करने के लिए कर सकते हैं। उस जानकारी का उपयोग करके हमलावर या तो बैकएंड सेवाओं या खुले पोर्ट को शोषण का उपयोग करके समझौता कर सकते हैं।
5. खराब होस्टिंग
आम तौर पर, सस्ती PHP होस्टिंग सुरक्षा के लिए भारी कीमत के साथ आती है। खराब होस्टिंग सेवा को सस्ता बनाने के लिए सुरक्षा संचालन में कटौती करती है। इसलिए, एक बार जब ऐसे सर्वरों पर संक्रमण फैलना शुरू होता है, तो यह आपकी PHP साइट सहित कई साइटों से समझौता कर सकता है, हालांकि, इसे सीधे निशाना नहीं बनाया गया था।
कमजोर PHP कोड
6. PHP SQL इंजेक्शन
PHP में SQL इंजेक्शन मुख्य रूप से अस्वच्छ उपयोगकर्ता इनपुट की कमी के कारण होता है। खराब कोडिंग मानकों के कारण, अस्वच्छ इनपुट सीधे डेटाबेस सर्वर तक पहुंच जाता है और निष्पादित हो जाता है। कस्टम PHP पेज में SQLi के कुछ मुख्य कारण हैं:
- स्पेस वर्णों के लिए फ़िल्टरिंग की कमी।
- स्ट्रिंग्स को सीमित करने के लिए उद्धरण चिह्नों का उपयोग।
- अस्वच्छ उपयोगकर्ता इनपुट को डेटाबेस पर पास करना।
- यूनिकोड एन्कोडिंग का अनुचित कार्यान्वयन।
- कोड के साथ डेटा का मिश्रण।
- अनुचित टाइप हैंडलिंग।
7. PHP क्रॉस-साइट स्क्रिप्टिंग
XSS SQL इंजेक्शन के बाद कस्टम PHP साइट्स हैक होने का एक और आम कारण है। ये दोनों हमले वेब पर इतने प्रचलित हैं कि वे हर साल OWASP टॉप 10 में शामिल होते हैं। XSS भी उपयोगकर्ता इनपुट साफ न करने के कारण होता है। PHP साइट्स और सामान्य तौर पर, XSS हमले मुख्य रूप से तीन प्रकार के होते हैं:
- स्टोर्ड XSS: इस प्रकार का XSS वेब एडमिन पर एक विशेष लिंक पर क्लिक करने पर निर्भर करता है जो फिर कुकीज़ चुराने के लिए एक दुर्भावनापूर्ण स्क्रिप्ट लोड करता है।
- रिफ्लेक्टेड XSS: यह एक बहुत गंभीर XSS है और आमतौर पर फ़ोरम, चर्चा आदि वाली PHP साइट्स में पाया जा सकता है। इस प्रकार के XSS से दुर्भावनापूर्ण कोड सर्वर पर संग्रहीत होता है और हर बार जब कोई उपयोगकर्ता उस PHP पेज पर जाता है तो निष्पादित होता है।
- DOM आधारित XSS: यह उपरोक्त दो में से कोई भी हो सकता है। लेकिन, इस प्रकार के XSS का पता लगाना काफी कठिन है और कोड ऑडिट के बाद भी बच सकता है।
XSS के प्रति संवेदनशील साइट्स को आमतौर पर PHP वेबसाइट रीडायरेक्ट हैक या एडमिन कुकीज़ चुराने के लिए निशाना बनाया जाता है।
8. PHP क्रॉस-साइट रिक्वेस्ट फोर्जरी
CSRF हमले PHP साइट उपयोगकर्ताओं को अवांछित कार्य करने के लिए धोखा देने के लिए होते हैं। यदि आपकी कस्टम PHP साइट्स साइनअप की अनुमति देती हैं, तो एक CSRF लोगों को यादृच्छिक खाते हटाने या अन्य कार्य करने की अनुमति दे सकता है। जबकि कार्यों के निहितार्थ हमलावर को सीधे दिखाई नहीं देते, CSRF PHP साइट्स के उपयोगकर्ताओं को हटाकर साइट ट्रैफ़िक को कम कर सकता है।
9. PHP लोकल फ़ाइल इन्क्लूजन
फ़ाइल इन्क्लूजन भेद्यता तब होती है जब एक हमलावर रूट 'www' निर्देशिका के बाहर फ़ाइलों तक पहुंच सकता है। इस भेद्यता के मुख्य दोषी खराब कोडेड स्क्रिप्ट हैं जो फ़ाइल नामों को पैरामीटर के रूप में लेते हैं। यह भेद्यता एक हमलावर को आपके कस्टम PHP साइट की संवेदनशील कॉन्फ़िगरेशन और पासवर्ड फ़ाइलों को पढ़ने की अनुमति देती है। इन फ़ाइलों से प्राप्त जानकारी का उपयोग हमलावर एडमिन अधिकारों के साथ लॉगिन करने के लिए कर सकते हैं जिससे PHP वेबसाइट हैक हो जाती है।
PHP में ज़ीरो-डे खामियां
10. बगी प्लगइन्स या थीम
PHP में खराब कोडेड प्लगइन्स या थीम आपके सर्वर पर बैठी भेद्यताएं हैं जो शोषित होने की प्रतीक्षा कर रही हैं। ऐसे उदाहरण सामने आए हैं जब हमलावरों ने विशेष रूप से बगी प्लगइन्स को निशाना बनाकर PHP साइट्स पर बड़े पैमाने पर हमले किए हैं। यदि आपकी PHP वेबसाइट हैक हो गई है, तो यह खराब कोडेड प्लगइन या थीम होने की संभावना है।
11. समझौता किया गया PHP पैकेज
यह भी संभावना है कि PHP लाइब्रेरी और पैकेज कमजोर हैं। ऐसा किसी अन्य भाषा के साथ भी हो सकता है। हाल ही में, PHP PEAR पैकेज मैनेजर हमलावरों द्वारा समझौता किया गया था। हमलावरों ने मूल को अपने इंजेक्टेड कोड से बदल दिया था जिसे अनजाने उपयोगकर्ताओं द्वारा डाउनलोड किया गया था। इस पैकेज का उपयोग तब PHP प्रोग्रामिंग भाषा में लिखे गए मुफ्त लाइब्रेरी को खोजने और डाउनलोड करने के लिए उनकी साइट्स पर किया गया था। हालांकि ऐसी घटनाएं दुर्लभ हैं, ज़ीरो-डे खामियों के कारण कस्टम PHP वेबसाइट हैक की संभावना को पूरी तरह से नजरअंदाज नहीं किया जा सकता।
सोशल इंजीनियरिंग हमले
12. फ़िशिंग
क्या आपके कस्टम PHP साइट के एडमिन को हाल ही में नाइजीरियाई राजकुमार से मेल मिला था? इस तरह के हमले वेब एडमिन को PHP वेबसाइट की संवेदनशील जानकारी देने के लिए धोखा देने के लिए डिज़ाइन किए गए हैं जिससे PHP वेबसाइट हैक हो जाती है। इसलिए, PHP साइट डोमेन पर ईमेल फ़िल्टर करके फ़िशिंग से सुरक्षित रहें!
13. टेलगेटिंग
टेलगेटिंग फ़िशिंग हमलों का सिर्फ एक और संस्करण है। इस हमले के तहत, एक हमलावर पहले एक निम्न-स्तरीय उपयोगकर्ता खाते से समझौता करता है और फिर इसका उपयोग विशेषाधिकार बढ़ाने के लिए करता है। टेलगेटिंग हमारे शोधकर्ताओं द्वारा केस स्टडीज में से एक में देखी गई थी और इसका उपयोग पहचान से बचने के लिए आमतौर पर किया जाता है। टेलगेटिंग के परिणाम सूचना चोरी से लेकर PHP साइट हैक तक भिन्न हो सकते हैं।
कस्टम PHP वेबसाइट हैक: साइट को सुरक्षित करना

सही अनुमतियाँ सेट करें
PHP में फ़ाइल अनुमतियों की जांच के लिए निम्नलिखित तीन फ़ंक्शन हैं:
- is_readable(): यह फ़ंक्शन बूलियन मान true लौटाता है यदि उपयोगकर्ता को PHP फ़ाइल पढ़ने की अनुमति है।
- is_writable(): यह फ़ंक्शन बूलियन मान true लौटाता है यदि उपयोगकर्ता को PHP फ़ाइल में लिखने की अनुमति है।
- is_executable(): यह फ़ंक्शन बूलियन मान true लौटाता है यदि उपयोगकर्ता को PHP फ़ाइल निष्पादित करने की अनुमति है।
इसी तरह, PHP के chmod() फ़ंक्शन का उपयोग फ़ाइल अनुमतियों को संपादित करने के लिए किया जा सकता है। बस फ़ाइल का नाम अनुमति के साथ इनपुट करें। यानी "chmod($RandomFile, 0644);"। नीचे दी गई छवि में फ़ाइल अनुमति की पूरी सूची और यह क्या करती है दी गई है। इसके अलावा, PHP इंटरप्रेटर को यह निर्दिष्ट करने के लिए कि इनपुट ऑक्टल है, फ़ाइल अनुमति से पहले '0' जोड़ना सुनिश्चित करें।

एक सुरक्षित पासवर्ड सेट करें
सुनिश्चित करें कि आपकी कस्टम PHP साइट का पासवर्ड सुरक्षित है। इसे अक्षरों, संख्याओं और प्रतीकों का अच्छा मिश्रण बनाएं। इसके अलावा, पासवर्ड सेट करने से पहले रॉकयू.टेक्स्ट जैसे लोकप्रिय पासवर्ड डिक्शनरी को देखना और जांचना एक एहतियाती कदम है कि आप जो पासवर्ड सेट कर रहे हैं वह वहां मौजूद नहीं है। लिनक्स उपयोगकर्ताओं के मामले में, ऐसी बड़ी फ़ाइलों में खोज करने के लिए Grep कमांड काम आ सकती है। बस खोजें, grep -i '*YourNewpass*' rockyou.txt। इसके अलावा, नया पासवर्ड बनाने की परेशानी से बचने के लिए, अन्य ऑनलाइन टूल का उपयोग सुरक्षित, लंबे और यादृच्छिक पासवर्ड प्राप्त करने के लिए भी किया जा सकता है।
डायरेक्टरी इंडेक्सिंग अक्षम करें
किसी विशेष निर्देशिका में इंडेक्सिंग अक्षम करने के लिए, निम्न कोड को इसकी .htaccess फ़ाइल में जोड़ें (यदि .htaccess मौजूद नहीं है, तो एक बनाएं):
Options -Indexes
सुरक्षित होस्टिंग का उपयोग करें
आम तौर पर होस्टिंग सेवा की तलाश करते समय, सुनिश्चित करें कि यह एस्ट्रा सिक्योरिटी की तरह अपने एकीकृत होस्टिंग भागीदारों के साथ फ़ायरवॉल या सुरक्षा समाधान प्रदान करता है। इसके अलावा, अपनी साइट को उसी सर्वर पर चल रही अन्य साइटों से अलग करने के लिए सबनेटिंग सुनिश्चित करें।
PHP कोड ऑडिट
एक बार कस्टम PHP साइट बन जाने के बाद, खरोंच से एक और बनाना आर्थिक रूप से व्यवहार्य नहीं होगा। इसलिए, कोड ऑडिटिंग हमलावरों द्वारा ऐसा करने से पहले PHP वेबसाइट में भेद्यताओं को पकड़ने का सबसे अच्छा तरीका है। एस्ट्रा सिक्योरिटी के पास आपकी साइट की सुरक्षा का ऑडिट और पेनटेस्ट करने के लिए हैकर्स का एक बड़ा समुदाय है।