Ir al contenido principal

SQL Injection - ¿Qué es y como funciona?

SQL Injection - ¿Qué es y como funciona?


A todos nos suena este termino pero a veces es un poco confuso de entender. Aquí te explicamos de forma sencilla en que consiste.

¿Qué es SQL Injection?
SQL Injection o inyección de código SQL es un tipo de ataque que se vale de una vulnerabilidad informática que se encuentra presente en una aplicación a nivel de validación de las entradas con las cuales realiza un formulario.

Comúnmente utilizado en ataques hacia:
  • Formularios HTML que pueden ser páginas de login por ejemplo, campos de busqueda, cajas de comentarios.
  • Aplicaciones de escritorio que hacen uso de bases de datos
¿Cómo funciona?
Un  atacante puede aprovecharse del incorrecto filtrado de los campos de un formulario de login, cajas de texto para poner comentarios, cajas de busqueda del sitio, caja de texto en "recupera tu password" etc. Hace pruebas para tratar de introducir código SQL y probar si la página es o no vulnerable a la inyección.

Falsas creencias de seguridad
Muchas personas ignoran la importancia de la seguridad porque desconocen del peligro real de los ataques con SQL inyection.

Muchos desarrolladores piensan que estan seguros porque:
  1. Sus aplicaciones web no regresan ningún error SQL al navegador
  2. Envian log de los errores de su aplicación a la ventana de eventos de log
  3. Usan consultas almacenadas en código ó en funciones
  4. No conectan a la base de datos usando el SA ó la cuenta root.
Sin embargo, a pesar de todo esto es falso que sus aplicaciones web sean seguras.


¿Cómo probar si nuestro sitio es vulnerable a SQL inyection?
Una forma sencilla sería introducir en un campo de texto por ejemplo:

"' having 1=1 ---"


Al introducir esto trataremos de provocar un error que nos informe sobre detalle por ejemplo:

 
Esto quiere decir que la funcion o procedure "sp_Users_GetNewPassword" esperaba un parametro "password"

Lo que quiere decir que si esta ejecutando probablemente unas sentencias SQL dentro de la funcion. Vamos a probar con otro comando SQL


Y si ejecuta este comento efectivamente somos vulnerables a SQL injection.
Aquí el video para más detalle.


 

Resumen


El atacante puede usar el navegador para probar código SQL y ver si nuestro sitio es vulnerable, si es vulnerable entonces puede probar distintas técnicas para ir viendo que tablas existen, obtener información o incluso alterar y borrar información.

En otro post explicaremos más a detalle estas técnicas.


Comentarios

Entradas populares de este blog

¿Qué es la ejecución de código arbitrario?

En informática , el término código arbitrario hace referencia a código muy largo que no será interpretado por una aplicación o sistema operativo sino que provocará un desbordamiento de búfer de esa aplicación o sistema operativo lo que hará que el trozo desbordado sea interpretado y/o ejecutado por el sistema bajo unas condiciones más favorables. Es utilizado para realizar ataques. Otra forma más simple de definirlo es que la ejecución de código arbitrario es: Una forma fácil en la que un atacante puede ejecutar "comandos" tan sencillo como pensar en que alguien a distancia esta tecleando comandos que pueden ser desde un inocente mkdir "para hacer directorio" hasta un rm "borrar directorio" o abrir puertos etc para troyanizar el equipo "mantener el acceso". Lo que también es conocido como remote code execution .

Shazam! Reconocimiento de Algoritmos de Música, Huellas Dactilares y Procesamiento

Alguna vez de has preguntado, ¿Cómo es que mi iPhone (Siri) es capaz de saber que canción toca la radio con solo decirle la pregunta y dejarle "escuchar" un pedazo? Bueno eso son algoritmos de conocimiento de Música que hoy en día disfrutamos en nuestros telefonos iPhone, Android pero hay una ciencia detrás de esto. En el artículo de hoy hablaremos a detalle sobre "Reconocimiento de Algoritmos de Música, Huellas Dactilares y Procesamiento" tenemos un interesante artículo que nos comparten desde toptotal.com Oyes una canción familiar en el club o en el restaurante. Has escuchado esta canción miles de veces desde hace mucho tiempo y el sentimentalismo de la canción realmente toca tu corazón. ¡Desesperadamente la quieres volver a escuchar en la mañana, pero no recuerdas su nombre! Afortunadamente, en nuestro increíble mundo futurista, tienes un teléfono con software de reconocimiento de música instalado. Puedes relajarte, ya que el Software te dijo el nombre de la ...

XKEYSCORE: Google, NSA y las Comunicaciones Privadas del Mundo - Parte I

Una de las más poderosas herramientas de vigilancia masiva de la Agencia de Seguridad Nacional ( NSA )  hace un seguimiento del uso de Internet de alguien tan fácil como introducir una dirección de correo electrónico, y no proporciona la tecnología incorporada al publico para evitar abusos. Hoy en día, La Intercepción publica 48 - top secret y otros documentos clasificados sobre XKEYSCORE fecha hasta 2013 , que arrojan nueva luz sobre la amplitud, la profundidad y la funcionalidad de este sistema de espionaje crítico - uno de los lanzamientos más grandes hasta ahora de los documentos proporcionados por la NSA denunciante Edward Snowden . Descripción breve sobre  XKEYSCORE XKEYSCORE  es un programa de la NSA   el cual fue revelado por el diario The Guardian , lo que hace es hacer un barrido con innumerables búsquedas en Internet de las personas, correos electrónicos, documentos, nombres de usuario y contraseñas, y otras comunicaciones privadas.  ...