¿Qué es la inyección SQL?

Una de las clases más importantes de vulnerabilidades web se conoce como "inyección SQL" o SQLi. El lenguaje de consulta estructurado, también conocido como SQL, es el lenguaje utilizado para interactuar con la mayoría de las bases de datos, aunque se utilizan varias variantes del lenguaje según la plataforma de la base de datos. Cualquier sitio web que almacene datos del usuario, como información de la cuenta, o que proporcione la funcionalidad de carga del usuario, como un sitio web de alojamiento de imágenes, utilizará una base de datos para almacenar esos datos.

Sugerencia: SQL generalmente se pronuncia "ess cue ell" o "secuela", siendo la primera opción más común en inglés británico y la segunda más frecuente en inglés americano. Ambas pronunciaciones se entienden generalmente en el contexto de hablar de bases de datos.

¿Qué es SQLi?

SQLi es una vulnerabilidad en la que los desarrolladores web que diseñan el código que se comunica entre el servidor web y la base de datos no implementan protecciones contra los comandos SQL enviados por un usuario. El problema es que es posible escapar de las declaraciones de la base de datos y agregar nuevos argumentos o una declaración completamente nueva. La declaración de la base de datos modificada o segunda puede realizar una variedad de acciones que incluyen eliminaciones o filtraciones de datos potencialmente a gran escala.

Los exploits generalmente giran en torno a hacer que las declaraciones existentes sean verdaderas en todas las circunstancias o proporcionar un segundo comando por lotes que realiza una acción específica, como eliminar o mostrar todos los datos. Por ejemplo, una declaración SQL para iniciar sesión en un sitio web puede verificar si el nombre de usuario y la contraseña enviados coinciden con una entrada en la base de datos. Para intentar obtener acceso, un exploit de inyección SQL puede intentar agregar una cláusula "o verdadero" como "o 1 = 1". Esto haría que el comando sea del tipo "iniciar sesión con [este] nombre de usuario, si la contraseña es [este], o esta afirmación es verdadera".

Cómo prevenir SQLi

SQLi solía ser una forma muy común para que los sitios web tuvieran su base de datos violada y luego filtrada en línea. Debido a un esfuerzo concertado para garantizar que la conciencia de seguridad sea parte de la capacitación de los desarrolladores, esta clase de vulnerabilidad se ha resuelto en gran medida y rara vez se ve.

El método correcto para prevenir SQLi es usar declaraciones preparadas, también conocidas como consultas parametrizadas. Tradicionalmente, las declaraciones SQL se declaran y la entrada del usuario se concatena en ellas durante esa declaración. Con las declaraciones preparadas, el comando de la base de datos se escribe y luego una función especial ejecuta el comando e inserta los datos del usuario. Si bien esto puede parecer una diferencia menor, cambia por completo la forma en que se maneja el comando. La diferencia evita que se ejecuten comandos SQL significativos y trata todas las entradas del usuario como una cadena, evitando que ocurra la inyección SQL.



Leave a Comment

Solucionar el error empresarial de Facebook Demasiados redireccionamientos

Solucionar el error empresarial de Facebook Demasiados redireccionamientos

Aprende a corregir el error de demasiados redireccionamientos en Facebook siguiendo estas soluciones efectivas y prácticas.

Cómo usar varias paradas en Google Maps

Cómo usar varias paradas en Google Maps

Aprende a usar Google Maps para planificar rutas con múltiples paradas y optimizar tu experiencia de navegación.

Cómo habilitar o deshabilitar el acceso a la cámara web para el navegador Opera, Firefox, Brave y Chrome

Cómo habilitar o deshabilitar el acceso a la cámara web para el navegador Opera, Firefox, Brave y Chrome

Obtenga la privacidad que desea y evite que los navegadores accedan a su cámara web ingresando a Configuración y realizando un simple cambio.

Cómo cambiar la cuenta de Google predeterminada

Cómo cambiar la cuenta de Google predeterminada

Aprende a cambiar la cuenta de Google predeterminada de manera fácil y efectiva en tu navegador web, optimizando tu experiencia al usar los servicios de Google.

Cómo medir distancias en Google Maps

Cómo medir distancias en Google Maps

Google Maps tiene una opción de medición de distancia dedicada que le permite medir rápidamente la distancia entre dos puntos en el mapa.

Gmail: cómo crear una lista de distribución

Gmail: cómo crear una lista de distribución

Aprende cómo crear listas de distribución en Gmail para organizar tus contactos y facilitar el envío de correos electrónicos a grupos.

Cómo corregir el error Err_cache_miss en Chrome

Cómo corregir el error Err_cache_miss en Chrome

Descubre soluciones efectivas para el error Err_cache_miss en Chrome y mejora tu experiencia de navegación.

Cómo hacer texto en negrita en el estado de Facebook

Cómo hacer texto en negrita en el estado de Facebook

Aprende cómo hacer texto en negrita en Facebook fácilmente con YayText para destacar tus opiniones y publicaciones.

Cómo bloquear correos electrónicos en Gmail

Cómo bloquear correos electrónicos en Gmail

Aprenda a configurar el bloqueo en Gmail desde su escritorio o dispositivo Android.

Cómo desactivar Google SafeSearch

Cómo desactivar Google SafeSearch

Aprende a desactivar Google SafeSearch para obtener resultados de búsqueda sin restricciones, ideal para usuarios que necesitan acceso completo al contenido.