SQL injection es una vulnerabilidad localizada en la base de
datos de un sistema de información, los cuales como sabemos, una base de datos
es un lugar donde se almacena de manera ordenada una gran cantidad de información
y datos.
Según OWASP (Open Web Aplication Security Project), este
tipo de ataques es uno de los más comunes realizados por los ciberdelincuentes.
Esta vulnerabilidad es explotada por los atacantes, permitiéndoles
realizar consultas a la base de datos sin la necesidad de contar con el usuario
de alguien en específico. Esto se realiza mediante la inserción de líneas de consulta
directamente a los campos donde se ingresa normalmente un usuario, contraseña,
comentarios, o cualquier texbox que pida la inserción de una dato a validar
dentro de una base de datos.
Existen 2 métodos para realizar este tipo de ataque (Método
GET, método POST), los cuales sin importar devuelven los mismos resultados.
El ataque más común para probar esta vulnerabilidad es
ingresar lo siguiente:
'or '1'='1
Parece al tan sencillo pero a la vez tan potente. Para probar
esta injections, ingresaremos en google una sencilla búsqueda
Luego seleccionar cualquier web que se nos ofrezca, colocar
el 'or '1'='1 tanto en el usuario como en la contraseña y listo ya ingresaste
como modo administrador a una web.
La forma como funciona es la siguiente. Primero entendamos
como se realiza la consulta de autenticación en una base de datos, los cuales
vendría a ser de la siguiente manera:
Select id from
tusuarios where usuario='$usuario' and password='$pass';
Y al ingresar nuestro 'or '1'='1 quedaría de la siguiente forma:
Select id from
tusuarios where usuario=''or '1'='1' and password=''or '1'='1';
Esto además funciona con la búsqueda en google de login.php,
admin.php, admin.aps entre otros.
Ahora solo queda que sigas investigando sobre estos pequeños
trucos regados en todo el internet, aprender y evitar caer en dichas vulnerabilidades…
No hay comentarios:
Publicar un comentario