
Stack Overflows
-
Categoría:
-
BufferOverflow
-
Referencia:
-
OWASP-BO003
Descripcion:
Esta prueba busca detectar errores en el manejo de memoria del programa cuando se ingresan datos más grandes de lo esperado.
Herramientas recomendadas:
Recomendaciones para realizar la prueba:
Los atacantes envían datos excesivos a una función que almacena información en el stack. Por ejemplo, al aprovechar funciones inseguras como gets() o strcpy() en C, pueden sobrescribir el puntero de retorno de la función, permitiéndoles controlar la ejecución del programa e inyectar código malicioso. Se recomienda usar la herramienta GDB (GNU Debugger); Compila tu aplicación con símbolos de depuración (-g): "gcc -g -o mi_aplicacion mi_aplicacion.c". Inicia GDB para depurar la aplicación: "gdb ./mi_aplicacion". Ejecuta y provoca un desbordamiento controlado para analizar cómo se comporta el stack y corrige el manejo de memoria.
Recomendaciones para defenderse del ataque:
Es fundamental comprobar si la aplicación controla adecuadamente el tamaño de las entradas que recibe, evitando que los usuarios puedan enviar datos demasiado grandes que provoquen fallos en la memoria. Es por esto que se limitará siempre el tamaño de las entradas permitidas, tanto en el código como en la configuración del servidor.