Si bien es cierto que lo que sucede durante un desbordamiento del búfer tiene mucho que ver con el contexto de desarrollo en el que se produce el desbordamiento (es decir, qué idioma, qué sistema operativo e incluso qué tipo de hardware), también es un bien general. practicar para comprobar el tamaño y la sintaxis.
Me impresionaría si alguien tuviera tiempo para escribir cada uno de los idiomas que mencionas ... Conozco los caprichos de algunos de estos idiomas, pero no todos, para realmente golpearlos adecuadamente. de ellos en una sola respuesta sería un nivel impresionante de experiencia.
Puedo decir que para un lenguaje administrado, como Java y (creo que --- no es mi fuerte) .Net - estás viendo (generalmente) ramificaciones menos aterradoras que en un lenguaje más cercano al simple metal (C, C ++ ). Un desbordamiento de búfer en un lenguaje con memoria administrada debe permitir que el programa asigne la memoria a medida que la información llega y la maneja de una manera un tanto elocuente (¡hasta cierto punto!). El desbordamiento verdaderamente clásico es aquel en el que el programador no ha asignado su matriz de caracteres correctamente y los datos del desbordamiento se han filtrado a otro segmento del programa.
Dicho esto, incluso en Java un desbordamiento de búfer puede causar respuestas no deseadas. En un lenguaje administrado, podría suceder que se agote el proceso de la memoria asignada, lo que provocará ralentizaciones. Podría hacer que la máquina "no se abra" si no se ha configurado correctamente, podría producir resultados inesperados en cualquier mecanismo de persistencia de datos que esté usando el programa. Todo esto es cierto independientemente del idioma.
Una comprobación de tamaño general en las líneas del frente es simplemente una buena práctica de programación. ¿Por qué no rebotar datos erróneos antes de trabajar más duro en ello? Está ahorrando ciclos de CPU, tiempo de ejecución y memoria persistente, y está protegiendo el back-end. La seguridad en capas es solo un buen camino por recorrer.