James Gosling de Sun Microsystems desarrolló el lenguaje de programación Java en 1995. Es un objetivo general de C + + lenguaje derivado usado en muchos sitios web en forma de applets y servlets que amplían la funcionalidad de los servidores web . Un desbordamiento de búfer es un error de programación , intencional o no, que comienza a escribir a las células de memoria adyacentes , que normalmente no está permitido por razones de seguridad . Java es típicamente algo seguro de desbordamiento de búfer , ya que tiene " la comprobación de límites ", que automáticamente crea excepciones , lo que hace el código que no se puede acceder accidentalmente a la memoria adyacente no autorizado. Sin embargo , el acceso administrativo al servidor Java puede obligar Java para ejecutar código externo que puede obligar buffer overflow . Instrucciones
1
acceso Java Native Interface ( JNI) en la máquina virtual de Java que se ejecuta JavaScript . Esta es la única manera de provocar un desbordamiento de memoria en Java, mediante la introducción , el código no administrado externa , como en C + + .
2
Abrir o crear una nueva secuencia de comandos en la base de datos . Creación de un script independiente que es mejor para aislar la secuencia de comandos de desbordamiento de búfer , así que usted puede deshacer fácilmente el efecto que causa
3
pegar este script: .
Char buf [ 64 ] , en [ MAX_SIZE ] ; printf ("Introduzca contenido del búfer : \\ n "); read ( 0 , a , MAX_SIZE - 1 ) ; printf ( " bytes a copiar : \\ n"); scanf ("% d" ; , & bytes ); memcpy ( buf, en , bytes ) ;
luego ejecutarlo . En el navegador, se le debería pedir " bytes a copiar " e introduzca un número arbitrariamente grande. Este ejemplo de código se basa en la entrada del usuario para provocar el desbordamiento .