30 lines
2.0 KiB
Markdown

# Uobičajene zaštite i zaobilaženja u binarnom eksploatisanju
{{#include ../../banners/hacktricks-training.md}}
## Omogućite Core datoteke
**Core datoteke** su vrsta datoteke koju generiše operativni sistem kada proces doživi pad. Ove datoteke beleže sliku memorije padenog procesa u trenutku njegovog završetka, uključujući memoriju procesa, registre i stanje programskog brojača, među ostalim detaljima. Ova slika može biti izuzetno korisna za debagovanje i razumevanje zašto je došlo do pada.
### **Omogućavanje generisanja Core dump-a**
Podrazumevano, mnogi sistemi ograničavaju veličinu core datoteka na 0 (tj. ne generišu core datoteke) kako bi uštedeli prostor na disku. Da biste omogućili generisanje core datoteka, možete koristiti komandu **`ulimit`** (u bash-u ili sličnim shell-ovima) ili konfigurisati sistemske postavke.
- **Korišćenje ulimit**: Komanda `ulimit -c unlimited` omogućava trenutnoj shell sesiji da kreira core datoteke neograničene veličine. Ovo je korisno za debagovanje sesija, ali nije trajno nakon ponovnog pokretanja ili novih sesija.
```bash
ulimit -c unlimited
```
- **Trajna Konfiguracija**: Za trajno rešenje, možete urediti datoteku `/etc/security/limits.conf` da uključite liniju kao što je `* soft core unlimited`, koja omogućava svim korisnicima da generišu core datoteke neograničene veličine bez potrebe da ručno postavljaju ulimit u svojim sesijama.
```markdown
- soft core unlimited
```
### **Analiza Core Fajlova sa GDB**
Da biste analizirali core fajl, možete koristiti alate za debagovanje kao što je GDB (GNU Debugger). Pretpostavljajući da imate izvršni fajl koji je proizveo core dump i da se core fajl zove `core_file`, možete započeti analizu sa:
```bash
gdb /path/to/executable /path/to/core_file
```
Ova komanda učitava izvršni fajl i core fajl u GDB, omogućavajući vam da pregledate stanje programa u trenutku pada. Možete koristiti GDB komande da istražite stek, ispitujete promenljive i razumete uzrok pada.
{{#include ../../banners/hacktricks-training.md}}