Overwriting a freed chunk

Podržite HackTricks

Nekoliko predloženih tehnika eksploatacije hipa zahteva mogućnost prepisivanja pokazivača unutar oslobođenih blokova. Cilj ove stranice je da sumira potencijalne ranjivosti koje bi mogle omogućiti ovaj pristup:

Jednostavno korišćenje nakon oslobođenja

Ako je napadaču moguće upisati informacije u slobodan blok, mogao bi iskoristiti ovo da prepisuje potrebne pokazivače.

Dvostruko oslobođavanje

Ako napadač može osloboditi dva puta isti blok (osloboditi druge blokove između potencijalno) i učiniti da bude 2 puta u istom binu, bilo bi moguće korisniku dodeliti blok kasnije, prepisti potrebne pokazivače i zatim ponovo ga dodeliti pokrećući akcije dodeljivanja bloka (npr. brzi bin napad, tcache napad...)

Preplavljenje hipa

Moguće je preplaviti dodeljeni blok sledećim oslobođenim blokom i izmeniti neke zaglavlja/pokazivače.

Preplavljenje za jedan bajt

U ovom slučaju bilo bi moguće izmeniti veličinu sledećeg bloka u memoriji. Napadač bi mogao iskoristiti ovo da dodeli dodeljenom bloku veću veličinu, zatim ga oslobodi, čineći da blok bude dodat u bin drugačije veličine (veće), zatim dodeli lažnu veličinu, i napad će imati pristup bloku sa većom veličinom nego što zaista jeste, omogućavajući stoga situaciju preklapanja blokova, koja se može iskoristiti na isti način kao i preplavljenje hipa (proverite prethodni odeljak).

Podržite HackTricks

Last updated