ubiquitour.com

Cómo escribir el desbordamiento de búfer en Java

James Gosling de Sun Microsystems desarrolló el lenguaje de programación Java en 1995. Es un lenguaje de C++ derivada utilizado en muchos sitios web en forma de applets y servlets que extienden la funcionalidad de los servidores web de propósito general. Un desbordamiento de búfer es un error de programación, no intencional o de lo contrario, que comienza a escribir a las células adyacentes de la memoria, que normalmente no está permitida por razones de seguridad. Java es típicamente algo seguro de desbordamiento de búfer porque tiene "límites de control," que crea automáticamente excepciones, que se cerciora de que el código no puede acceder accidentalmente a memoria adyacente no autorizado. Sin embargo, acceso administrativo al servidor Java puede forzar Java para ejecutar código externo que puede forzar el desbordamiento de búfer.

Instrucciones

1 Acceso Java Native Interface (JNI) en la máquina Virtual de Java que ejecuta JavaScript. Se trata de la única manera de provocar un desbordamiento de memoria en Java, mediante la introducción de código externo, no administrado, como en C++.

2 Abrir o crear un nuevo script en la base de datos. Crear un script independiente es mejor aislar la secuencia de comandos de desbordamiento de buffer, por lo que fácilmente puede anular el efecto que causa.

3 Pega este script:

char buf [64], en [MAX_SIZE];printf ("Enter tampón contenido: \n");leer (en MAX_SIZE-1, 0);printf ("de Bytes a copiar: \n");scanf ("%d" & bytes);memcpy (buf, en, bytes);

Luego ejecutarlo. En el navegador, si se le "Bytes a copiar" e introduzca un número arbitrariamente gran. Este ejemplo de código se basa en la entrada del usuario a causa del desbordamiento.