
PoC एक गंभीर IndexedDB कमजोरी को उजागर करता है जो प्रतिबंधों की कमी का फायदा उठाकर डिस्क फ्लडिंग हमले को सक्षम बनाता है।

IFA एक प्रूफ ऑफ कॉन्सेप्ट (PoC) है जो दर्शाता है कि कैसे एक हमलावर लोकप्रिय वेब ब्राउज़रों में IndexedDB API का दोहन करके डिस्क फ्लडिंग हमला कर सकता है। यह हमला विशेष रूप से IndexedDB में प्रतिबंधों की कमी का लाभ उठाता है, जिससे ब्राउज़र बिना प्रभावी सीमाओं के डेटा संग्रहीत कर सकता है, जो प्रति सेकंड सैकड़ों MB इंजेक्ट करके उपयोगकर्ता की डिस्क स्थान को तेजी से खत्म कर सकता है। इससे सिस्टम प्रदर्शन में महत्वपूर्ण गिरावट, स्टोरेज की कमी और चरम मामलों में पूर्ण सिस्टम क्रैश हो सकता है।
ऐसी दुनिया में जहाँ हम उत्पादकता और मनोरंजन के लिए वेब एप्लिकेशन पर तेजी से निर्भर हो रहे हैं, एक कमजोरी जो आपके डिवाइस को मिनटों में अनुपयोगी बना सकती है, एक गंभीर खतरा है। IFA बताता है कि कैसे IndexedDB में प्रतिबंधों की कमी का दोहन करके एक ऐसा परिदृश्य बनाया जा सकता है जहाँ उपयोगकर्ता एक साधारण स्क्रिप्ट के कारण अपने सिस्टम पर नियंत्रण खो देता है।
IFA को निष्पादित करने से निम्नलिखित विनाशकारी प्रभाव हो सकते हैं:
बड़े पैमाने पर प्रदर्शन गिरावट: IndexedDB में डेटा के बड़े पैमाने पर और निरंतर भंडारण के कारण डिस्क की इनपुट/आउटपुट संचालन संतृप्त हो जाते हैं, जिससे सिस्टम की गति में महत्वपूर्ण कमी आती है। उपयोगकर्ताओं को अत्यधिक धीमी प्रतिक्रिया समय का अनुभव होगा, जिससे उनके उपकरणों का सामान्य रूप से उपयोग करना कठिन हो जाएगा।
तेजी से स्टोरेज खत्म होना: कुछ ही मिनटों में, हमला गीगाबाइट डिस्क स्थान का उपभोग कर सकता है। एक बार स्टोरेज खत्म हो जाने पर, सिस्टम दस्तावेज़ सहेजने, अपडेट इंस्टॉल करने या नए एप्लिकेशन खोलने जैसी बुनियादी कार्रवाइयाँ करने में असमर्थ हो जाता है।
सिस्टम अस्थिरता और क्रैश: जब डिस्क पूरी तरह भर जाती है, तो ऑपरेटिंग सिस्टम अस्थिर हो सकता है या क्रैश भी हो सकता है, जिसके परिणामस्वरूप सहेजे न गए डेटा का नुकसान हो सकता है और संभावित रूप से महत्वपूर्ण सिस्टम फ़ाइलों को नुकसान पहुँच सकता है। प्रभावित उपयोगकर्ताओं को अपने सिस्टम को पुनर्स्थापित करने या ऑपरेटिंग सिस्टम की पूर्ण पुनर्स्थापना करने की आवश्यकता हो सकती है।
IFA ब्राउज़रों की एक विस्तृत श्रृंखला को प्रभावित करता है:
IFA IndexedDB API में प्रतिबंधों की कमी का दोहन करने के लिए सावधानीपूर्वक डिज़ाइन की गई रणनीति का उपयोग करता है, जो हमले के प्रभाव को अधिकतम करते हुए ब्राउज़र को समय से पहले क्रैश होने से रोकता है:
अद्वितीय पहचानकर्ताओं का निर्माण: स्क्रिप्ट यादृच्छिक नामों के साथ कई डेटाबेस उत्पन्न करती है, जिससे कोई विरोध न हो और प्रत्येक डेटाबेस बड़ी मात्रा में डेटा संग्रहीत कर सके।
8 MB ब्लॉब का इंजेक्शन: IFA 8 MB ब्लॉब (डेटा के बड़े टुकड़े) का उपयोग करता है जो दोहराए जाने वाले टेक्स्ट और इमेज डेटा से बने होते हैं। यह आकार चुनाव महत्वपूर्ण है क्योंकि यह ब्राउज़र को तुरंत क्रैश किए बिना कुशलतापूर्वक डेटा की बड़ी मात्रा को संग्रहीत करने की अनुमति देता है। एक विशिष्ट आकार के ब्लॉब का उपयोग करके, IFA उपयोगकर्ता की डिस्क को लगातार और लगातार भर सकता है, ब्राउज़र टैब के मेमोरी बफर पर आधारित सुरक्षा तंत्रों से बच सकता है जो अत्यधिक या तेजी से लिखने के संचालन का पता चलने पर हमले को रोक सकते हैं।
डेटा स्टोरेज लूप्स: 8 MB ब्लॉब को बार-बार IndexedDB ऑब्जेक्ट में संग्रहीत किया जाता है, जिससे डेटा का एक सतत प्रवाह बनता है जो जल्दी से डिस्क स्थान भर देता है। IFA प्रति सेकंड सैकड़ों MB इंजेक्ट करता है, जिससे ब्राउज़र को तुरंत क्रैश होने से बचाते हुए उपयोगकर्ता के स्टोरेज स्थान की तीव्र खपत सुनिश्चित होती है।
डिस्क संतृप्ति: यह प्रक्रिया अनिश्चित काल तक जारी रहती है, डिस्क स्थान समाप्त होने तक डेटा संग्रहीत करती है, जिससे कई समस्याएं उत्पन्न होती हैं जो सिस्टम को पंगु बना सकती हैं।
IFA शोषण दर्शाता है कि कैसे IndexedDB API में एक गंभीर कमजोरी को हथियार बनाया जा सकता है। यहाँ कुछ ऐसे परिदृश्य दिए गए हैं जहाँ एक हमलावर महत्वपूर्ण नुकसान पहुँचाने के लिए इस PoC का लाभ उठा सकता है:
क्रॉस-साइट स्क्रिप्टिंग (XSS) के माध्यम से शोषण: यदि कोई हमलावर किसी वैध वेबसाइट पर XSS कमजोरी खोज लेता है, तो वे IFA स्क्रिप्ट को साइट में इंजेक्ट कर सकते हैं। जब उपयोगकर्ता समझौता किए गए पेज पर जाते हैं, तो स्क्रिप्ट स्वचालित रूप से उनके ब्राउज़रों में निष्पादित हो जाएगी, जिससे उनका डिस्क स्थान तेजी से भर जाएगा। इससे सिस्टम काफी धीमा हो सकता है या क्रैश भी हो सकता है, खासकर उन उपयोगकर्ताओं के लिए जो हमले से अनजान हैं।
समझौता किए गए तृतीय-पक्ष JavaScript पुस्तकालय: कई वेबसाइटें और वेब एप्लिकेशन तृतीय-पक्ष JavaScript पुस्तकालयों पर निर्भर करते हैं। यदि कोई हमलावर IFA स्क्रिप्ट इंजेक्ट करके इनमें से किसी एक पुस्तकालय से समझौता कर लेता है, तो प्रभावित पुस्तकालय का उपयोग करने वाली कोई भी वेबसाइट अनजाने में हमले का वेक्टर बन सकती है। इसके परिणामस्वरूप समझौता की गई स्क्रिप्ट लोड करने वाले किसी भी उपयोगकर्ता के डिवाइस पर व्यापक डिस्क फ्लडिंग होगी।
दुर्भावनापूर्ण ब्राउज़र एक्सटेंशन: हमलावर IFA स्क्रिप्ट को शामिल करने के लिए ब्राउज़र एक्सटेंशन विकसित या समझौता कर सकते हैं। एक बार इंस्टॉल होने के बाद, एक्सटेंशन पृष्ठभूमि में चुपचाप स्क्रिप्ट निष्पादित कर सकता है, हर बार जब वे अपना ब्राउज़र खोलते हैं तो उपयोगकर्ता की डिस्क स्थान भर सकता है। यह परिदृश्य विशेष रूप से खतरनाक है क्योंकि ब्राउज़र एक्सटेंशन में अक्सर व्यापक अनुमतियाँ होती हैं।
संक्रमित वेब विज्ञापन: एक हमलावर किसी वैध वेबसाइट पर IFA स्क्रिप्ट वाला एक दुर्भावनापूर्ण विज्ञापन रख सकता है। जब उपयोगकर्ता संक्रमित विज्ञापन वाले पेज को लोड करते हैं, तो स्क्रिप्ट निष्पादित हो जाएगी और उनके डिस्क स्थान का उपभोग करना शुरू कर देगी। यह विधि बड़ी संख्या में उपयोगकर्ताओं को लक्षित कर सकती है, विशेष रूप से उच्च-ट्रैफ़िक वेबसाइटों पर।
फ़िशिंग अभियान: हमलावर फ़िशिंग ईमेल भेज सकते हैं जो पीड़ितों को IFA स्क्रिप्ट होस्ट करने वाली वेबसाइट पर ले जाते हैं। एक बार लक्ष्य दुर्भावनापूर्ण वेबसाइट पर जाता है, तो स्क्रिप्ट निष्पादित हो जाएगी और उनके डिस्क स्थान को भरना शुरू कर देगी। यह विधि व्यक्तियों या संगठनों के खिलाफ लक्षित हमलों में विशेष रूप से प्रभावी हो सकती है।
IFA के प्रभाव को बेहतर ढंग से समझने में आपकी मदद करने के लिए, मैंने एक समर्पित वेबसाइट पर एक प्रदर्शन बनाया है। यह वेब डेमो आपके लिए शोषण को क्रिया में देखना और इसके संभावित प्रभावों को समझना आसान बनाने के लिए डिज़ाइन किया गया है।
लाइव डेमो का अन्वेषण करें: लाइव डेमो के साथ बातचीत करने के लिए https://ifa.run पर जाएँ। यह आपको प्रत्यक्ष रूप से अनुभव करने देगा कि यह हमला आपके ब्राउज़र और सिस्टम को कैसे प्रभावित कर सकता है। मैंने यह डेमो यह सुनिश्चित करने के लिए बनाया है कि कोई भी आसानी से शोषण के परिणामों का परीक्षण और देख सके। कृपया इस परीक्षण को सावधानीपूर्वक और नियंत्रित वातावरण में करना याद रखें।
छिपा हुआ इंजेक्शन डेमो: अधिक सूक्ष्म प्रदर्शन के लिए, https://ifa.run/hidden.html पर जाएँ। यह संस्करण अदृश्य रूप से काम करता है, मुख्य डेमो की तरह बिना किसी दृश्य ग्राफिक्स या यूजर इंटरफेस के सीधे इंजेक्शन करता है।
PoC वीडियो देखें: यदि आप एक निर्देशित स्पष्टीकरण पसंद करते हैं, तो मैंने एक प्रदर्शन वीडियो भी बनाया है। वीडियो में, मैं IFA के निष्पादन के माध्यम से आपका मार्गदर्शन करता हूँ और आपको इसके कारण होने वाले प्रभाव दिखाता हूँ: PoC वीडियो।
यदि आप PoC का स्थानीय परीक्षण करने में रुचि रखते हैं, तो इन सीधे चरणों का पालन करें। हम IFA.js स्क्रिप्ट शामिल करने और कस्टम डेटा के साथ शोषण चलाने में आपका मार्गदर्शन करेंगे।
सबसे पहले, आपको अपनी HTML फ़ाइल में IFA.js स्क्रिप्ट शामिल करनी होगी। आपके पास दो विकल्प हैं: