Cosa fare dopo per questo possibile overflow del buffer?

4

Mi è stato richiesto di testare alcune delle nostre nuove applicazioni prima della versione utente e sono riuscito a trovare un buffer overflow su uno dei campi.

Questo è il punto in cui mi sono imbattuto in un muro di mattoni e non ero sicuro di cosa avrei potuto provare dopo, se mai.

Inizialmente ho provato una sovrascrittura EIP parziale, ma non riesco a trovare salti utili all'interno di quello spazio (in realtà niente).

Ho quindi controllato le DLL incluse nell'app per evitare del tutto l'ASLR, ma non hanno alcun jumper che potrei usare.

Per alcuni test temporanei ho deciso di codificare solo un indirizzo di salto corrente e di preoccuparmi di ASLR più tardi. Il problema QUI è che il mio attuale spazio indirizzo risiede tra 61xxxxxx e 76xxxxxx. Anche se normalmente questo non è un problema, il campo che causa l'overflow capitalizza automaticamente ogni carattere, quindi qualsiasi cosa nell'intervallo 61-7A è fuori.

Mi manca qualcosa di ovvio, se no, cosa dovrei provare dopo?

    
posta doyler 02.08.2012 - 17:25
fonte

1 risposta

2

Non c'è molto da guadagnare nello sfruttarlo solo per una demo. Dovresti essere in grado di dimostrare che il tuo sistema si arresta in modo anomalo da un telefono preso in prestito dal tuo pubblico, e questo dovrebbe inappellarsi adeguatamente ai tuoi spettatori.

Se vuoi davvero che i cani e i pony abbaiano e trotteranno, puoi eseguire il demo con rebase sul tuo modulo. Questo ti consentirà di spostare lo spazio degli indirizzi in un luogo diverso da quello attuale 61xxxxxx, ad esempio un 41xxxxxx carino e conveniente. È certamente disonesto, ma è anche drammatico. Se ti senti in colpa, digli che non è quasi diverso da se qualcuno ha aggiunto un nuovo modulo a quell'indirizzo come parte di un miglioramento futuro delle funzionalità.

    
risposta data 17.08.2012 - 07:04
fonte

Leggi altre domande sui tag