
इस रिपॉजिटरी में glibc के iconv() फ़ंक्शन में बफर ओवरफ्लो भेद्यता (CVE-2024-2961) के परीक्षण के लिए एक C प्रोग्राम शामिल है।
यह रिपॉजिटरी CVE-2024-2961 के परीक्षण के लिए एक C प्रोग्राम रखती है, जिसमें GNU C लाइब्रेरी (glibc) के iconv() फ़ंक्शन में बफर ओवरफ्लो कमज़ोरी शामिल है। PHP के हीप की संरचना के कारण, इस ओवरफ्लो का उपयोग फ्री लिस्ट पॉइंटर के एक भाग को संशोधित करने के लिए किया जा सकता है, जो अंततः प्रोग्राम की मेमोरी में एक आर्बिट्रेरी राइट प्रिमिटिव प्रदान करता है। परिणामस्वरूप, कोई भी हमलावर फ़ाइल रीड कमज़ोरी और PHP एप्लिकेशन पर नियंत्रित उपसर्ग के साथ RCE प्राप्त कर सकता है। इसी प्रकार, PHP को नियंत्रित पैरामीटरों के साथ iconv() कॉल करने के लिए मजबूर करना हमलावर को समान क्षमता प्रदान करता है।
iconv लाइब्रेरी स्थापित।सुनिश्चित करें कि आपके सिस्टम में glibc संस्करण 2.39 या पुराना है:
ldd --version
इस रिपॉजिटरी को अपनी स्थानीय मशीन पर क्लोन करें:
git clone https://github.com/exfil0/test_iconv.git
cd test_iconv
C प्रोग्राम को कंपाइल करने के लिए GCC का उपयोग करें:
gcc -o test_iconv test_iconv.c -liconv
कंपाइल किए गए प्रोग्राम को निष्पादित करें:
./test_iconv
gdb जैसे डीबगिंग टूल का उपयोग करें कि यह कमज़ोरी से संबंधित है या नहीं।यदि आपको क्रैश का सामना करना पड़े, तो आप अधिक विवरण प्राप्त करने के लिए gdb का उपयोग कर सकते हैं:
gdb ./test_iconv
GDB के अंदर, प्रोग्राम चलाएं:
run
यदि प्रोग्राम क्रैश होता है, तो आप प्रोग्राम की स्थिति का निरीक्षण कर सकते हैं:
bt
यह आपको क्रैश का बैकट्रेस देगा, जो यह निदान करने में मदद कर सकता है कि ओवरफ्लो CVE के कारण है या नहीं।
ओवरफ्लो को पकड़ने के लिए AddressSanitizer के साथ प्रोग्राम कंपाइल करें:
gcc -fsanitize=address -o test_iconv test_iconv.c -liconv
./test_iconv
यदि बफर ओवरफ्लो है तो AddressSanitizer विस्तृत जानकारी प्रदान करेगा।
यदि कमज़ोरी की पुष्टि हो जाती है, तो glibc को एक ऐसे संस्करण में अपडेट करने पर विचार करें जहां इस समस्या को पैच किया गया है। आप GNU प्रोजेक्ट की वेबसाइट या अपने डिस्ट्रीब्यूशन के पैकेज मैनेजर से नवीनतम संस्करण डाउनलोड और स्थापित कर सकते हैं।
इस कमज़ोरी के बारे में अधिक जानकारी के लिए, आप निम्नलिखित शोध लेख पढ़ सकते हैं: GLIBC दोष CVE-2024-2961 RCE के लिए दरवाजा खोलता है, PoC एक्सप्लॉइट प्रकाशित
यह कोड केवल शैक्षिक और परीक्षण उद्देश्यों के लिए है। उचित प्राधिकरण के बिना सिस्टम पर इसका उपयोग न करें।