¿ES TU WEB MÍNIMAMENTE SEGURA? #1 PRUEBA: INYECCIÓN SQL
Puede ocurrir en cualquier lenguaje de programación o script que esté embebido dentro de otro, es de los tipos de ataque más sencillos de realizar y uno de los talones de aquiles de la mayoría de webs hasta no hace tanto.
Cuando cubrimos el formulario de acceso a una web (usuario y contraseña), o el de contacto y acto seguido pulsamos ‘enviar‘, lo que ocurre por detrás de lo que vemos es una sentencia SQL que se lanza sobre la BBDD de la WEB:
Tal y como se ve en la imagen, en un login se realiza una consulta de selección sobre la BBDD que busca la password asociada al nombre de usuario, y si los dos parámetros son correctos, entraríamos en el área personal del usuario.
Si esto está bien desarrollado, la consulta implementada no será tan sencilla como esta, si no que habrá un script de inicio de sesión en el que se filtran los campos introducidos por el usuario antes de enviarlos a la base de datos.
Si quieres comprobar que tu página web cumple estos mínimos de seguridad, ve a la pantalla de acceso para usuarios registrados y escribe lo siguiente:
USER: ‘ OR 1=1; /*
PASS: */–
Si se ha abierto una sesión de usuario, ya sabes que no hay ni una sola medida de seguridad básica implementada en ese apartado.
Un ataque de inyección SQL exitoso puede leer datos confidenciales, modificar esos datos o incluso eliminarlos (podemos mandar sentencias DROP TABLE o incluso DELETE DATABASE desde un formulario de contacto por ejemplo). También puede inyectar comandos administrativos en la base de datos, como eliminar restricciones de seguridad. Esto puede tener un efecto devastador.
Si quieres ampliar esta información o la has probado y quieres compartir tu experiencia no dudes en dejarnos tu comentario.