mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
30 lines
4.6 KiB
Markdown
30 lines
4.6 KiB
Markdown
# सामान्य बाइनरी शोषण सुरक्षा और बायपास
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## कोर फ़ाइलें सक्षम करें
|
|
|
|
**कोर फ़ाइलें** एक प्रकार की फ़ाइल होती हैं जो एक ऑपरेटिंग सिस्टम द्वारा तब उत्पन्न की जाती हैं जब कोई प्रक्रिया क्रैश होती है। ये फ़ाइलें क्रैश हुई प्रक्रिया की मेमोरी छवि को उसके समाप्ति के समय कैप्चर करती हैं, जिसमें प्रक्रिया की मेमोरी, रजिस्टर और प्रोग्राम काउंटर की स्थिति, अन्य विवरणों के साथ शामिल होती हैं। यह स्नैपशॉट डिबगिंग और यह समझने के लिए अत्यंत मूल्यवान हो सकता है कि क्रैश क्यों हुआ।
|
|
|
|
### **कोर डंप जनरेशन सक्षम करना**
|
|
|
|
डिफ़ॉल्ट रूप से, कई सिस्टम कोर फ़ाइलों के आकार को 0 (यानी, वे कोर फ़ाइलें उत्पन्न नहीं करते) तक सीमित करते हैं ताकि डिस्क स्थान बचाया जा सके। कोर फ़ाइलों के उत्पादन को सक्षम करने के लिए, आप **`ulimit`** कमांड (bash या समान शेल में) का उपयोग कर सकते हैं या सिस्टम-व्यापी सेटिंग्स को कॉन्फ़िगर कर सकते हैं।
|
|
|
|
- **ulimit का उपयोग करना**: कमांड `ulimit -c unlimited` वर्तमान शेल सत्र को असीमित आकार की कोर फ़ाइलें बनाने की अनुमति देती है। यह डिबगिंग सत्रों के लिए उपयोगी है लेकिन रिबूट या नए सत्रों के बीच स्थायी नहीं है।
|
|
```bash
|
|
ulimit -c unlimited
|
|
```
|
|
- **स्थायी कॉन्फ़िगरेशन**: एक अधिक स्थायी समाधान के लिए, आप `/etc/security/limits.conf` फ़ाइल को संपादित कर सकते हैं ताकि इसमें एक पंक्ति शामिल हो जैसे `* soft core unlimited`, जो सभी उपयोगकर्ताओं को बिना अपने सत्रों में मैन्युअल रूप से ulimit सेट किए बिना असीमित आकार के कोर फ़ाइलें उत्पन्न करने की अनुमति देती है।
|
|
```markdown
|
|
- soft core unlimited
|
|
```
|
|
### **GDB के साथ कोर फ़ाइलों का विश्लेषण करना**
|
|
|
|
कोर फ़ाइल का विश्लेषण करने के लिए, आप GDB (GNU डिबगर) जैसे डिबगिंग टूल का उपयोग कर सकते हैं। मान लीजिए कि आपके पास एक निष्पादन योग्य फ़ाइल है जिसने एक कोर डंप उत्पन्न किया और कोर फ़ाइल का नाम `core_file` है, आप विश्लेषण शुरू कर सकते हैं:
|
|
```bash
|
|
gdb /path/to/executable /path/to/core_file
|
|
```
|
|
यह कमांड निष्पादन योग्य और कोर फ़ाइल को GDB में लोड करता है, जिससे आप क्रैश के समय प्रोग्राम की स्थिति की जांच कर सकते हैं। आप स्टैक का पता लगाने, वेरिएबल की जांच करने और क्रैश के कारण को समझने के लिए GDB कमांड का उपयोग कर सकते हैं।
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|