PDA

Visualizza la versione completa : perl da riga di comando


parigilanui
14-09-2004, 15:23
Salve a tutti, e' mesi che tento di far funzionare il seguente codice da riga di comando: $ nome_programma `perl -e 'print "\x90"x202;'``cat nome_programma` FINE. Questo codice serve a reindirizzare il flusso di esecuzione di un programma il problema e' che nello stack invece che scrivere il carattere esadecimale "\x90" prima del EBP me lo scrive molto dopo un po' prima delle variabili di ambiente che dovrebbero essere circa all'indirizzo 0xbffffffa, forse addirittura non mi inserisce il codice nello stack. Qualcuno mi sa' dare una mano??
Ve ne sarei grato. Ciao

Mich_
14-09-2004, 16:10
Dovresti pero` dire in che linguaggio stai operando.

La riga di comando non e` interpretata dal Perl, ma dalla Shell.
A seconda del sistema operativo le cose cambiano.
Ma anche con lo stesso SO (ad esempio linux), dipende da quale shell usi, e l'impostazione e` tua personale (sta scritta nel file di passwd).

Nota: il comando racchiudilo dentro i tag [ code ] ... [ / code ] (senza gli spazi), in modo che venga reso esattamente.

parigilanui
14-09-2004, 18:59
Grazie per la cortesia e la sollecitudine. Io uso linux redhat e la shell e la bash, ho provato anche con le shell "csh" e "tcsh" ma nulla da fare.
Non ho ben capito la questione dei tag [comando], scusa l'inesperienza, ma supponendo una riga di questo tipo: $./nome_programma `perl -e 'print "\x90"x100``cat nome_programma2` dove dovrebbero essere inserite le parentesi quadre e a che scopo?
Non sono sufficienti i caratteri di accento grave ` per fare in modo che il comando dato a perl (print "\x90"x10 ecc..) venga eseguito come argomento di nome_programma (che tra l'altro e' un programma con un buffer vulnerabile)?
Grazie ancora.

Loading