È possibile sfruttare un programma se è possibile solo sovrascrivere il registro ESI o EDI senza EIP? Il programma in questione segna un errore e sovrascrive EDI, ESI ed ECX ma non riesce a farlo fuoriuscire dall'EIP. Qualcuno sa perché? Grazie, Tom
Quasi certamente, ma potrebbe non tradursi in un exploit affidabile. Poiché stai controllando ESI, EDI ed ECX, molto probabilmente controllerai un'operazione di copia in byte e presumo che l'arresto sia causato dal tentativo di leggere / scrivere su un indirizzo come 0x41414141.
Nel peggiore dei casi puoi codificare con difficoltà alcuni indirizzi in cui i punti ESI all'inizio del tuo codice shell, EDI punta al successivo indirizzo di istruzione (byte EIP + opcode). ECX dovrebbe essere la lunghezza del tuo shellcode. Questo sovrascriverà la prossima serie di istruzioni con il tuo codice shell.
Per un exploit più affidabile dovresti fare qualche altra analisi su come hai finito per controllare questi registri e quali percorsi di codice sono disponibili a seconda di cosa indicherai in questi registri.
Leggi altre domande sui tag exploit