ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Inyeccion De Codigo


Enviado por   •  16 de Diciembre de 2012  •  1.013 Palabras (5 Páginas)  •  852 Visitas

Página 1 de 5

Inyección de Código Almacenados

La inyección de código es un ataque en el cual se inserta código malicioso en las cadenas que posteriormente se pasan a una instancia para su análisis y ejecución. Todos los procedimientos que generan instrucciones deben revisarse en busca de vulnerabilidades de inyección de código.

Consiste en la modificación del comportamiento de nuestras consultas mediante la introducción de parámetros no deseados en los campos a los que tiene acceso el usuario.

Por inyección SQL entendemos el acto de insertar una serie de sentencias SQL en una 'consulta' mediante la manipulación de la entrada de datos de una aplicación.

En la inyección de código se introduce un usuario falso y una contraseña falsa y puedes entrar a un sistema como por ejemplo:

Insertando el usuario: Sandra y contraseña 1234;

En caso de ser in correcto no entra al sistema.

En la inyección igual nos dejara entrar al sistema por ejemplo:

Estos usuarios no están registrados en la base de datos.

Insertando el usuario: hack y contraseña: hack'or'1'='1;

Y si nos dejara entrar

Identificar el mecanismo para evitar la inyección de código

Uno de los peligros de implementar formularios en nuestros proyectos, formularios que pueda rellenar el público, como comentarios o mensajes de correo, es que se presta fácilmente a la inyección de código en función de su labor. Por ejemplo, si tenemos un formulario para añadir un comentario y cuando lo mostramos lo ejecutamos directamente puede incluir código de javascript o php que robe información o estropee nuestro server.

Java

En lenguaje java, se puede usar la clase PreparedStatement

En lugar de:

Connection con = (acquire Connection)

Statement stmt = con.createStatement ();

ResultSet rset = stmt.executeQuery("SELECT * FROM usuarios WHERE nombre = '" + nombreUsuario + "';");

Se puede usar parametrización o escape de variables, como se indica en los siguientes apartados.

Bueno hay 2 maneras de las cuales poder evitar un ataque de este tipo

La primera consiste en que los queries que se ejecutan desde el programa deben ser hechos por un usuario de la base de datos con privilegios como select, insert, delete, update y nada mas, si se ejecutan como usuario administrador de la base de datos se corre gran riesgo.

La segunda, cuando se reciben los datos por parte del usuario hay que hacer una validación secundaria donde se verifique que no hay ninguna palabra reservada de SQL como lo es DROP, CREATE, ALTER, etc.

Roles y Usuarios de la aplicación

Un Rol es una clasificación mediante la cual se definen distintos privilegios de operación para los usuarios del sistema.

Los Roles se encuentran predefinidos en el sistema y se detallan a continuación:

Tipos de Roles

Administrador:

Un Administrador (Administrador) puede trabajar en tareas de configuración de la aplicación, puede crear usuarios y asignarles roles.

Supervisor:

Un Supervisor puede tomar casos no atendidos, trabajar en ellos y transferirlos a otros usuarios. Puede ver todos los

...

Descargar como (para miembros actualizados)  txt (6.7 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com