On Sat, Apr 13, 2002 at 02:02:04PM +0200, Guido Brugnara wrote: > > > > > # Sto sperimentando l'esecuzione di codice Perl in modalità suid > > # attraverso l'utilizzo di /usr/bin/suidperl anzichè /usr/bin/perl. > >..................... > >..................... > > # Ho poi compilato in byte-code il codice per rendere > > # non troppo visibile il codice sorgente: > > ma se si esegue cat test | perl -MO=Deparse > si ottiene: > ----------------------------------------------------- > $ENV{'PATH'} = '/usr/bin:/bin'; > $ID = `id`; > $ID =~ /^uid=\d+\((\w+)\)/; > $User = $1; > $UID = 0; > @S = split(?:?, `cat /etc/shadow | grep ^$User`, 0); > print "Password ecripted of $User in /etc/shadow: $S[1]\n"; > - syntax OK > ----------------------------------------------------- > > per evitare questo si dovrebbe verificare la presenza > del decompilatore ...... qualche idea? Utilizzare il backend per produrre codice C e compilarlo ?? Perche` devi fare $ID = `id` ?? $< ($UID) non contiene il valore esatto ?? Perche` non usi "getpwuid $UID" ?? Ciao -- Daniele --- http://www.grinta.net --- -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx