Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


app:stackoverflow

Desbordamiento de pila

Se produce cuando un programa permite la escritura más allá del buffer asignado a este.

  • Segmento de texto: segmento de codigo que contiene instrucciones ejecutables. Se sitúa debajo del heap y del stack para prevenir ataques de overflow.
  • Segmento de datos no inicializados: Contiene variables globales y estáticas inicializadas a 0
  • Segmento de datos inicializados: Contiene variables globales y estáticas inicializadas. Segmento de lectura/escritura ya que las variables se puede modificar dinamicamente en tiempo de ejecución.
  • Segmento de Stack: Estructura LIFO en las zonas altas de memoria
  • Segmento de Heap: Comienza en la terminal BSS y crece hacia dimensiones altas, conteniendo memoria dinámica con el almacenamiento a largo plazo. Es común para todas las librerías compartidas.

Los elementos añadidos a la pila cada vez que se hace una llamada a función se conocen como stack frames o frames. Cada stack frame contiene cariables y parámetros de una función, además de una dirección de retorno.

Punteros

  • Puntero EIP: Apunta a la siguiente instrucción que va a ser ejecutada
  • Puntero base EBP: Apunta al comienzo del stack frame actual, también conocido como base pointer
  • Puntero de pila ESP (Stack Pointer): apunta al principio de la pila
app/stackoverflow.txt · Última modificación: 2024/10/10 15:31 por thejuanvisu