Sto esaminando i vari wargames overthewire e ho una domanda su narnia0. Il codice in c contiene
if(val==0xdeadbeef)
system("/bin/sh");
else {
printf("WAY OFF!!!!\n");
Ho capito che funziona con il semplice overflow del buffer, ma volevo provare a utilizzare gdb per trovare altri modi per sfruttarlo. Ho smontato main, quindi ho impostato un breakpoint dopo cmpl e prima di jne. Quindi ho cambiato il codice macchina da 0x75 a 0x74. Quando ho continuato, è stato eseguito
system("/bin/sh");
ma quando eseguivo id ero ancora solo nel gruppo di utenti narnia0, mentre se facevo il buffer overflow ero nel gruppo narnia1. È impossibile declassare i privilegi come gdb, e c'è qualche soluzione per estendere i privilegi in un ambiente in cui è possibile modificare il codice macchina / variabili?