El mar, 15-01-2002 a las 13:44, Antonio Castro escribió: > Bueno pues haz un execvp() en un programa setuid llamando a vim, > a ftp, a less, u otros de estos que te permiten salir al interprete > de comandos ejecutando una subshell. Me parece a mi que le puedes > quitar todo el entorno que quieras. Obtendrá una shell de root.
No he mirado el código fuente, pero qué quieres que te diga: [EMAIL PROTECTED] ~]$ su - [EMAIL PROTECTED] root]# cp /usr/bin/vim /tmp/vim [EMAIL PROTECTED] root]# chmod u+s /tmp/vim [EMAIL PROTECTED] root]# exit [EMAIL PROTECTED] ~]$ /tmp/vim kk ejecuto :!id y obtengo uid=500(jantonio) gid=500(jantonio) grupos=500(jantonio) Pasa lo mismo con el less: al abrir una shell el real y el effective userid no corresponden a root, por mucho que el padre sea setuid root espera un momentito... idem con el ftp Claro, esto es en mi distribución RedHat 7.2.... O sea que el programa está bien codificado :) -- Juan Antonio \|||/ / _ _ \ \ o o / =========================o00o===U===o00o====================================== Juan Antonio Martinez Universidad Politecnica de Madrid email: [EMAIL PROTECTED] E.T.S.I Telecomunicacion http://www.dit.upm.es/~jantonio Ciudad Universitaria s/n Tel: 34-1-3367366 ext 416 Laboratorio de Programación. Desp A-127-2 Fax: 34-1-3367333 28040 Madrid, Spain ============================================================================== ¿Y que haríais si Dios os Dijera: "Os ordeno que, por encima de todo, seáis felices el resto de vuestra vida"? - Richard Bach
pgpuJkxvcDNQQ.pgp
Description: PGP signature