hacktricks/src/binary-exploitation/libc-heap/overwriting-a-freed-chunk.md

24 lines
1.6 KiB
Markdown

# Prepisivanje oslobođenog dela
{{#include ../../banners/hacktricks-training.md}}
Nekoliko predloženih tehnika eksploatacije heap-a treba da može da prepisuje pokazivače unutar oslobođenih delova. Cilj ove stranice je da sumira potencijalne ranjivosti koje bi mogle omogućiti ovaj pristup:
### Jednostavno korišćenje nakon oslobađanja
Ako je moguće da napadač **upiše informacije u oslobođeni deo**, mogli bi to iskoristiti da prepišu potrebne pokazivače.
### Duplo oslobađanje
Ako napadač može da **`oslobađa` isti deo dva puta** (oslobađajući druge delove između potencijalno) i učini da bude **2 puta u istom kontejneru**, bilo bi moguće da korisnik **kasnije alocira deo**, **upiše potrebne pokazivače** i zatim **ponovo alocira**, pokrećući akcije delova koji se alociraju (npr. brzi bin napad, tcache napad...)
### Prelivanje heap-a
Moglo bi biti moguće **preliti alocirani deo koji ima pored oslobođeni deo** i izmeniti neke zaglavlja/pokazivače.
### Prelivanje sa pomerajem od jedan
U ovom slučaju bi bilo moguće **izmeniti veličinu** sledećeg dela u memoriji. Napadač bi mogao to iskoristiti da **napravi alocirani deo sa većom veličinom**, zatim **`oslobađa`** ga, čineći da deo bude **dodato u kontejner druge** veličine (veće), zatim alocirati **lažnu veličinu**, i napad će imati pristup **delu sa veličinom koja je veća** nego što zaista jeste, **omogućavajući tako situaciju preklapanja delova**, koja se može iskoristiti na isti način kao **prelivanje heap-a** (proverite prethodni odeljak).
{{#include ../../banners/hacktricks-training.md}}