Gestione del byte NULL (0x00) negli offset

1

Sto cercando di sfruttare una vulnerabilità di overflow del buffer strcpy () per testare l'attacco ROP. Ho trovato un gadget molto utile all'indirizzo 0x0000f26c , quindi sono obbligato ad inserire byte null nello stack per sovrascrivere l'indirizzo di ritorno della funzione vulnerabile. Per il momento non sono riuscito a farlo perché strcpy () utilizza 0x00 come terminatore di stringa.

C'è qualche altro metodo per farlo?

    
posta Ahmed 28.05.2018 - 12:13
fonte

1 risposta

0

Non che io sappia, ma che ne dici di sovrascrivere l'indirizzo di ritorno con un gadget "ret"? Con un debugger prova a trovare se ci sono byte null sopra l'indirizzo di ritorno ...

Se consideriamo rsp == 0x1000 quando stai per diramarti all'indirizzo di ritorno:

0x1010: 0x???????????????? <-- are these null-bytes ? if yes ...
0x1008: 0x???????????????? <-- are these null-bytes ? if yes overwrite first 2 bytes with "\x6c\xf2" if not overwrite with ret gadget... 
0x1000: *return address*   <--- overwrite with a ret gadget
    
risposta data 28.05.2018 - 17:44
fonte

Leggi altre domande sui tag