0% encontró este documento útil (0 votos)
9 vistas9 páginas

Prevención de Inyección SQL en Apps

La inyección SQL es un método de infiltración de código que explota vulnerabilidades en la validación de entradas de aplicaciones para manipular bases de datos. Se presentan ejemplos de cómo un atacante puede eludir la autenticación mediante consultas maliciosas y se sugieren medidas para prevenir estas inyecciones, como filtrar entradas, limitar permisos y utilizar procedimientos almacenados. Además, se menciona DVWA, una aplicación web diseñada para ayudar a profesionales y estudiantes a aprender sobre la seguridad en aplicaciones web.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas9 páginas

Prevención de Inyección SQL en Apps

La inyección SQL es un método de infiltración de código que explota vulnerabilidades en la validación de entradas de aplicaciones para manipular bases de datos. Se presentan ejemplos de cómo un atacante puede eludir la autenticación mediante consultas maliciosas y se sugieren medidas para prevenir estas inyecciones, como filtrar entradas, limitar permisos y utilizar procedimientos almacenados. Además, se menciona DVWA, una aplicación web diseñada para ayudar a profesionales y estudiantes a aprender sobre la seguridad en aplicaciones web.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

INYECCION

SQL

AUTOR: JEFFERSON MORALES ZAVALETA


DEFINICION

 Es un método de infiltración de código intruso que se vale de una vulnerabilidad


informática presente en una aplicación en el nivel de validación de las entradas
para realizar operaciones sobre una base de datos.
EJEMPLO

Supongamos que tenemos una aplicación Web en la que el acceso a ciertas secciones
está restringido. Para restringir ese acceso creamos una tabla de usuarios y
contraseñas y sólo los usuarios que se validen contra esa tabla podrán acceder a esos
contenidos.

BASE DE DATOS: Web-go INSERTAR DATOS EN TABLA


USUARIOS
TABLA: Usuarios
Insert into usuarios(Usuario,contraseña) values
Create table usuarios (‘Admin’,’1234’)
(
Usuario varchar(50) not null primary key, Insert into usuarios(Usuario,contraseña) values
Contraseña varchar(50) (‘Jefferson’,’4455’)
)
EJEMPLO

En la Interfaz grafica de la Aplicación Web.

Todos los usuarios, solo podrán ingresar


Usuario: Admin
con contraseña correspondiente.
Contraseña: ****

SELECT Count(*) FROM usuarios WHERE Usuario=‘Admin’ AND


Contraseña=‘1234’
EJEMPLO

En la Interfaz grafica de la Aplicación Web.

Pero que ocurría si ponemos como


Usuario: OR’ 1’=‘1
Usuario y Contraseña
Contraseña: OR’ 1’=‘1 ‘OR’ 1’=‘1

SELECT Count(*) FROM usuarios WHERE Usuario=‘OR’ 1’=‘1 AND


Contraseña=‘OR’ 1’=‘1

Y obviamente si la programación del Sistema con la BD no es la adecuada, vulnerará


los registros de la BD e ingresará al Sistema.
COMO EVITAR LAS INYECCIONES SQL ?

1) Podemos FILTRAR LAS ENTRADAS de los usuarios REEMPLAZANDO la aparición de ‘ por ‘’ (DOS
COMILLAS SIMPLES) e incluso evitando que los usuarios puedan pasar caracteres como / “ ‘ o cualquier otro
que se nos ocurra que puede causar problemas.
2) Es LIMITAR AL MÁXIMO LOS PERMISOS DEL USUARIO que ejecuta estas sentencias para evitar
posibles problemas. Por ejemplo utilizando un usuario distinto para las sentencias SELECT, DELETE, UPDATE
y asegurándonos que cada ejecución de una sentencia EJECUTE UNA SENTENCIA DEL TIPO PERMITIDO.
3) Una solución definitiva sería trabajar con PROCEDIMIENTOS ALMACENADOS.
El modo en el que se pasan los PARÁMETROS a los procedimientos almacenados evita que la inyección SQL
pueda ser usada.
4) También deberíamos VALIDAR LOS DATOS QUE INTRODUCE EL USUARIO teniendo en cuenta por
ejemplo la LONGITUD DE LOS CAMPOS Y EL TIPO DE DATOS ACEPTADOS.
PROGRAMAS EN LINUX
DVWA(Damn Vulnerable Web App)-Ruso

Es una aplicación web PHP / MySQL que es muy vulnerable.


OBJETIVOS PRINCIPALES
Ser una ayuda para que los profesionales de la seguridad pongan a prueba sus
habilidades y herramientas en un entorno legal,
Ayuden a los desarrolladores web a comprender mejor los procesos de protección de
las aplicaciones web.
Ayuden a los profesores / alumnos a enseñar / aprender la seguridad de las
aplicaciones web en un entorno de clase.

También podría gustarte