Smashing stack in x86_64

3

Lo sfruttamento di funzioni come strcpy() dipende dal fatto che la stringa del payload non deve contenere zero byte che potrebbero terminare la funzione di copia. Se il payload contiene indirizzi x86_64 (ad es. Per sovrascrivere un indirizzo di ritorno nello stack), allora c'è un problema che gli indirizzi x86_64 contengono zero byte. C'è una soluzione per questo?

    
posta Andy 19.06.2018 - 12:56
fonte

1 risposta

1

x86_64 è little endian quindi i byte zero obbligatori arrivano alla fine dell'indirizzo / stringa e sono già presenti nell'indirizzo di ritorno esistente. Ciò significa che non è necessario scrivere quegli ultimi pochi byte. Potresti ancora avere problemi se ci fossero zero byte meno significativi del byte non zero più significativo. Questi sono meglio evitati da un'attenta selezione del bersaglio.

    
risposta data 01.09.2018 - 12:46
fonte

Leggi altre domande sui tag