Przepełnienie bufora: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
popr
Linia 83:
Musimy umieścić [[shellcode]] w buforze i nadpisać adres powrotu tak, żeby wskazywał na nasz shellcode. Ponieważ znalezienie dokładnego adresu wymaga wielu prób, uzupełniamy go dużą ilością instrukcji <tt>NOP</tt> (0x90), tak żeby wskaźnik mógł wskazywać na dowolny z początkowych bajtów bufora.
 
Nie mamy zbyt dużych ambicji w sprawie shellcodukodu powłoki - będzie on po prostu wychodził z wartością 0, odpowiadającej dobremu hasłu.
 
Ponieważ nie wiemy, jaka dokładnie jest lokalizacja bufora zawierającego shellcodekod powłoki,
jej adres (w odniesieniu do początku stosu, który na [[Linux|Linuksie]] na [[Intel 80386|i386]] zwykle znajduje się pod 0xc0000000) podany jest w linii komend do naszego exploitu.
 
Linia 128:
</source>
 
Metodą prób i błędów (skakać można o ilość instrukcji NOP w shellcodziekodzie powłoki):
<pre>
$ ./exploit2 1900