User Tools

Site Tools


ret2libc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ret2libc [2023/12/07 15:39] kresimirret2libc [2025/12/01 11:40] (current) – external edit 127.0.0.1
Line 30: Line 30:
  
 Unos stringa "/bin/sh" omogućen je kroz varijablu username ili password, ali se i nalazi unutar datoteke i bez njegovog unosa. Unos stringa "/bin/sh" omogućen je kroz varijablu username ili password, ali se i nalazi unutar datoteke i bez njegovog unosa.
-Rješenje će biti izvedeno uz pomoć već postojećeg stringa. Razlika će dakle biti u adresi koja sadrži "/bin/sh"Ukoliko  +Rješenje će biti izvedeno uz pomoć postojećeg stringa. Razlika će dakle biti u adresi koja sadrži "/bin/sh"Ako rješenje koristi username ili password varijablu, unutar payloada je potrebno izmijeniti adresu koja se prosljeđuje pozivu system na odgovarajući offset
-rješenje koristi username ili password varijablu, unutar payloada je potrebno izmjeniti adresu koja se prosljeđuje pozivu system na odgovarajući offset+
 odgovarajuće varijable. odgovarajuće varijable.
  
Line 59: Line 58:
 U rješenju će se koristiti adresa 0x4050d9. U rješenju će se koristiti adresa 0x4050d9.
  
-Zbog x64 calling konvencije pointer na adresu na kojoj se nalazi string "/bin/sh" biti će u registru rdi.+Zbog x64 calling konvencije pointer na adresu na kojoj se nalazi string "/bin/sh" bit će u registru rdi.
 To znači da kako bi se sistemski poziv system ispravno pozvao, prije samog poziva potrebno je postaviti To znači da kako bi se sistemski poziv system ispravno pozvao, prije samog poziva potrebno je postaviti
 željenu adresu u registar rdi.  željenu adresu u registar rdi. 
Line 69: Line 68:
 Kako bi se pronašla takva funkcija koriste se rop alati. U ovom primjeru korišteni alat je ROPGadget no postoje i brojni drugi (npr. Ropper, PWN tools...). Kako bi se pronašla takva funkcija koriste se rop alati. U ovom primjeru korišteni alat je ROPGadget no postoje i brojni drugi (npr. Ropper, PWN tools...).
  
-Nareba za pronalazak "write,what,where" rop-a jest (pomoćROPgadget):+Nareba za pronalazak "write,what,where" rop-a jest (uz pomoć ROPgadget):
  ROPGadget --silent --ropchain --binary main  ROPGadget --silent --ropchain --binary main
  
Line 90: Line 89:
  4. Prepisati povratnu adresu s adresom system poziva //0x4015b6 (adresa system poziva se može saznati s npr. disas system) --> ret;  4. Prepisati povratnu adresu s adresom system poziva //0x4015b6 (adresa system poziva se može saznati s npr. disas system) --> ret;
  
-Nakon uspješnog unosa sastavljenog payloada na udaljenom računalu biti će otvoren shell.+Nakon uspješnog unosa sastavljenog payloada na udaljenom računalu bit će otvoren shell.
  
 Napomena 1.:  Napomena 1.: 
-x64 calling konvencija zahtjeva da su povratne adrese poredane 16-bitnim modulom (stack allignment x64 calling convention)+x64 calling konvencija zahtjeva da su povratne adrese poredane sa 16-bitnim modulom (stack alignment x64 calling convention)
  
 Napomena 2.:  Napomena 2.:
ret2libc.1701963575.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki