jueves, 21 de noviembre de 2013

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 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 búfer desbordamiento 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 búfer desbordamiento, ya que tiene la comprobación de límites, que crea automáticamente 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

Desbordamiento de búfer



Acceso a Java Native Interface (JNI) en la máquina virtual de Java que se ejecuta JavaScript. Esta es la única manera de provocar una memoria desbordamiento en Java, mediante la introducción, el código no administrado externa, como en C + +.



Abra o cree un nuevo script en la base de datos. Creación de un script independiente que es mejor para aislar el buffer overflow escritura, por lo que se puede deshacer fácilmente el efecto que causa.



Pega este script:



char buf [64], en [MAX_SIZE]; printf (entre contenido del búfer: \ n), read (0, a, MAX_SIZE-1); printf (bytes a copiar: \ n); scanf (% d bytes); memcpy (buf, en, bytes);



A continuación, ejecutarlo. En el navegador, se le debería pedir Bytes para copiar e introducir un número arbitrariamente grande. Este ejemplo de código se basa en la entrada del usuario para provocar el desbordamiento.



 

No hay comentarios:

Publicar un comentario