Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por pobrecito hablador el Jueves, 04 Diciembre de 2003, 19:01h (#241347)
    Tan por encima que es erróneo.
    Un programa, como tal, no tiene acceso a la información que dice si es de root o no. Eso solo existe en espacio de memoria de kernel.
    Otra cosa es que alteres el funcionamiento del programa a través de un error de este tipo u otro, y dicho programa tenga privilegios especiales (normalmente root).
    Un ejemplo clásico. El comando "su" tiene privilegios de root a través del setuid del archivo.
    Si dicho programa no verifica el tamaño de la cadena del password y la copia en un array limitado podrías sobreescribir las direcciones siguientes (tal y como decías)
    Pero lo que normalmente hay ahí no es el identificador que dice si eres root o no (entre otras cosas porque eso va en kernel). Pero si, por ejemplo, puede ir el punto de retorno del programa , si el array estaba en la pila porque era una variable local en una llamada a una función.
    Entonces puedes hacer que el programa salte a un punto de ejecución determinado. Este puede ser la ejecución de una shell, y puesto que el proceso "su" es privilegiado, la shell hereda dichos privilegios.
    [ Padre ]