mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
24 lines
1.6 KiB
Markdown
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}}
|