Common Binary Exploitation Protections & Bypasses
कोर फ़ाइलें सक्षम करें
कोर फ़ाइलें एक प्रकार की फ़ाइल होती हैं जो एक ऑपरेटिंग सिस्टम द्वारा उत्पन्न की जाती है जब कोई प्रक्रिया क्रैश होती है। ये फ़ाइलें प्रक्रिया के समापन के समय क्रैश होने पर प्रक्रिया की मेमोरी छवि को कैप्चर करती हैं, जिसमें प्रक्रिया की मेमोरी, रजिस्टर और प्रोग्राम काउंटर स्थिति सहित अन्य विवरण शामिल होते हैं। यह स्नैपशॉट डीबगिंग और समझने के लिए अत्यधिक मूल्यवान हो सकता है कि क्रैश क्यों हुआ।
कोर डंप जनरेशन सक्षम करना
बहुत से सिस्टम डिस्क स्पेस बचाने के लिए कोर फ़ाइलों का आकार 0 तक सीमित करते हैं (अर्थात वे कोर फ़ाइलें नहीं उत्पन्न करते)। कोर फ़ाइलों का उत्पन्न करने को सक्षम करने के लिए, आप ulimit
कमांड (बैश या समान शैलियों में) का उपयोग कर सकते हैं या सिस्टम-व्यापी सेटिंग कॉन्फ़िगर कर सकते हैं।
ulimit का उपयोग करना: कमांड
ulimit -c unlimited
वर्तमान शैली सत्र को असीमित आकार की कोर फ़ाइलें बनाने की अनुमति देता है। यह डीबगिंग सत्रों के लिए उपयोगी है लेकिन यह बूट या नए सत्रों के लिए स्थायी नहीं है।
स्थायी विन्यास: एक और स्थायी समाधान के लिए, आप
/etc/security/limits.conf
फ़ाइल को संपादित कर सकते हैं और एक पंक्ति जो* soft core unlimited
जैसी हो उसे शामिल कर सकते हैं, जिससे सभी उपयोगकर्ताओं को अपरिमित आकार की कोर फ़ाइलें उत्पन्न करने की अनुमति मिले बिना उन्हें अपने सत्र में उलिमिट मैन्युअल रूप से सेट करने की आवश्यकता न हो।
GDB के साथ कोर फ़ाइलों का विश्लेषण
कोर फ़ाइल का विश्लेषण करने के लिए, आप GDB (GNU Debugger) जैसे डीबगिंग टूल का उपयोग कर सकते हैं। मान लीजिए कि आपके पास एक executable है जिसने एक कोर डंप उत्पन्न किया है और कोर फ़ाइल का नाम core_file
है, तो आप विश्लेषण शुरू कर सकते हैं:
यह कमांड GDB में एक्जीक्यूटेबल और कोर फ़ाइल को लोड करती है, जिससे आप क्रैश हुए समय प्रोग्राम की स्थिति की जांच कर सकते हैं। आप GDB कमांड का उपयोग करके स्टैक की जांच, वेरिएबल्स की जांच कर सकते हैं, और क्रैश के कारण को समझ सकते हैं।
Last updated