GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Mindmap

"Smashing the stack for fun and profit"

air-base Spanisch

Mapa mental sobre Smashing the stack for fun and profit: memoria, buffer y pila

Mapa mental: Smashing the stack for fun and profit

Inhalt der Mindmap

"Smashing the stack for fun and profit"

  1. El código con este objetivo causa "vuelta" de turina para ir en dirección aleatoria

    • Basura de la pila
    • Garabatear la pila
    • Destrozar la píla
    • Fandango en el núcleo
    • Pérdida de memoria
    • Precedence lossage
  2. Organización de memoria

    • Tenemos procesos, que se dividen en tres...
      • Pila
        • Tipo de dato abstracto
        • Dos funciones importantes: PUSH Y POP
          • Ejecutadas por la CPU
        • Usada para asignar dinámicamente variables locales
        • Bloque contiguo de datos de memoria
        • Tamaño ajustado dinámicamente por el kernel durante la ejecución
        • Tiene un marco de pila
          • Contiene los parámetros de una función
          • Contiene las variables locales de una función
          • Datos necesarios para recuperar el marco de pila anterior
        • Generalmente crece "hacía abajo"
      • Texto
      • Datos
  3. Desbordamiento de buffer

    • Buffer: bloque contiguo de memoria en la computadora, contiene instancias del mismo tipo de datos
    • Resultado de relleno de más datos en una memoria de los que puede manejar
      • Se da al copiar datos sin comprobar límites
        • Genera una violación de segmentación
    • Nos permite cambiar la dirección de retorno de una función
      • Cambio en el flujo de ejecución del programa
      • No sabemos el lugar en memoria donde está el programa a explotar
        • Usando funciones JMP y CALL puede evitarse
          • Se puede utilizar IP direccionamiento relativo
    • Hay varios escenarios para ocasionarse
      • Rellenar la parte delantera del buffer con instrucciones NOP
      • Aumentar en 100 bytes el tamaño del buffer, en relación a la memoria intermedia
    • Particularidad en lenguaje C, puede ocasionarse con:
      • Escribir más allá del final de un array de caracteres, con funciones como
        • strcat()
        • strcpy()
        • sprintf()
        • vsprintf()
      • Emparejar una secuencia de caracteres que no son de espacio en blanco
        • scanf()
      • Uso de bucle while() para leer un caractér a la vez en un buffer de la entrada estándar hasta alcanzar un delimitador
        • getc()
        • fgetc()
        • getchar()

Informationen

Beschreibung
Mapa mental obtenido del árticulo "smashing the stack for fun and profit" de Aleph one. ORRC.
Erstellt von
air-base
Aufrufe
38
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck