arrow_backVolver a field notes
WEB SECURITY Publicado 9 ago 2026

¿Qué es un Buffer Overflow? Un Recorrido Práctico

Aprende cómo funcionan los buffer overflows con un ejemplo real en C, un diagrama de pila y las herramientas para verlo suceder por ti mismo.

Un buffer overflow ocurre cuando un programa escribe más datos en un fragmento de memoria de tamaño fijo de lo que ese fragmento puede contener. Los bytes extra se desbordan hacia la memoria adyacente, y dependiendo de qué se encuentre junto a ese buffer, puedes corromper variables, bloquear el programa o secuestrar el flujo de ejecución por completo. Es una de las clases de errores más antiguas en la seguridad del software y aún aparece en CTFs, CVEs y firmware embebido hoy.

El patrón vulnerable

Aquí hay un ejemplo clásico en C:

#include <string.h>

void greet(char *name) {
    char buffer[64];
    strcpy(buffer, name);
}

int main(int argc, char **argv) {
    greet(argv[1]);
    return 0;
}

strcpy copia la cadena que le pases en buffer, sin verificación de límites. Si argv[1] es más larga que 64 bytes, la copia sigue más allá del final del array. En la pila, buffer se sitúa debajo de otras variables locales, registros guardados y eventualmente la dirección de retorno que le dice a la CPU dónde saltar después de que greet() termine. Sobrescribe esa dirección de retorno con una dirección bajo tu control, y controlas qué se ejecuta después.

Por qué esto aún se compila y ejecuta

C y C++ no hacen verificación automática de límites en arrays crudos. Funciones como strcpy, gets, sprintf y strcat escribirán felizmente más allá del final de un buffer porque solo se preocupan por un terminador nulo o una longitud de origen, no por el tamaño real del destino. Compáralo con strncpy o snprintf, que toman un argumento de tamaño explícito y se detienen allí. La vulnerabilidad no es realmente

Escrito con asistencia de IA, revisado y publicado por Michal Pilch (CISSP), Korra Studio.

¿Listo para ir más allá?

Esta es una nota de la base de conocimiento de Korra Studio — la plataforma combina cada tema con mentoría 1 a 1.

Empezar gratisarrow_forward