“Conocimiento Programación>Programación Java

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

2013/10/31
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 .

Programación Java
Cómo leer entero desde la consola de Java
Cómo cambiar Java memoria Heap
Cómo iniciar un applet de Java con el sujetapapeles Acceso
Cómo comparar los métodos de cadena mediante la longitud y charAt en Java
La altura de un árbol binario en Java
Diferencias entre System.in y System.out
Marco de activación de Java Tutorial
Cómo copiar un valor de un doble en un entero en Java
Conocimiento de la computadora © http://www.ordenador.online