Array Indexing
Osnovne informacije
Ova kategorija obuhvata sve ranjivosti koje se javljaju zbog mogućnosti prepisivanja određenih podataka putem grešaka u rukovanju indeksima u nizovima. To je veoma široka kategorija bez specifične metodologije, jer mehanizam eksploatacije potpuno zavisi od uslova ranjivosti.
Međutim, ovde možete pronaći neke lepe primere:
Postoje 2 koliziona niza, jedan za adrese gde su podaci smešteni i jedan sa veličinama tih podataka. Moguće je prepisati jedan drugim, omogućavajući pisanje proizvoljne adrese označavajući je kao veličinu. To omogućava pisanje adrese funkcije
free
u GOT tabeli, a zatim prepisivanje sa adresomsystem
, i pozivanje free iz memorije sa/bin/sh
.64 bita, bez nx. Prepisivanje veličine kako bi se dobio vrsta preplavljivanja bafera gde će svaka stvar biti korišćena kao dupli broj i sortirana od najmanjeg do najvećeg, tako da je potrebno kreirati shellcode koji ispunjava taj zahtev, uzimajući u obzir da kanarina ne sme biti pomerena sa svoje pozicije i na kraju prepisivanje RIP-a sa adresom za povratak, koji ispunjava prethodne zahteve i postavljanje najveće adrese na novu adresu koja pokazuje na početak steka (procureno od strane programa) tako da je moguće koristiti povratak da se skoči tamo.
64 bita, bez relro, kanarine, nx, bez pie-a. Postoji off-by-one u nizu na steku koji omogućava kontrolu pokazivača dodeljujući WWW (upisuje zbir svih brojeva niza na prepisanu adresu off-by-one u nizu). Kontroliše se stek tako da je adresa
exit
u GOT-u prepisana sapop rdi; ret
, a na stek je dodata adresamain
(ponovno usmeravanje namain
). Koristi se ROP lanac za procurivanje adrese put u GOT-u koristeći puts (exit
će biti pozvan tako da će pozvatipop rdi; ret
i izvršiti ovaj lanac na steku). Na kraju se koristi novi ROP lanac za izvršavanje ret2lib.32 bita, bez relro-a, bez kanarine, nx, pie. Zloupotreba lošeg indeksiranja za procurivanje adresa libc-a i hipa sa steka. Zloupotreba preplavljivanja bafera za izvršavanje ret2lib pozivanjem
system('/bin/sh')
(potrebna je adresa hipa za zaobilaženje provere).
Last updated