C vulnerabilità della stringa di formato printf: quanti byte vengono letti con% x?

0

Supponendo l'architettura della CPU Intel Atom 2008 di Ubuntu 14.04 a 32 bit e x_86, quanti byte fa il formato %x letto dallo stack? So che posso leggere cosa c'è nella pila usando:

formatstring="%x";
printf(formatstring);

Come ho messo più %x nella stringa di formattazione, più dati vengono letti dallo stack. Poiché %x richiede 4 byte, ogni %x dovrebbe leggere 4 byte dallo stack, quindi ad esempio se il 1%% co_de legge ciò che è stato scritto all'indirizzo %x il 0x0 leggerà l'indirizzo 2nd e così via (ovviamente i numeri sono solo per me per rendere la spiegazione più semplice).

Questa supposizione è corretta? Non sembra che da quando ho provato un esercizio per calcolare l'indirizzo di una variabile facendo 0x4 ho trovato un indirizzo sbagliato.

    
posta mik1904 22.12.2016 - 09:42
fonte

0 risposte

Leggi altre domande sui tag