¿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

Cómo forzar a Google Chrome a mostrar siempre las URL completas

Cómo forzar a Google Chrome a mostrar siempre las URL completas

Chrome, de forma predeterminada, no muestra la URL completa. Puede que no le importe demasiado este detalle, pero si por alguna razón necesita que se muestre la URL completa, encontrará instrucciones detalladas sobre cómo hacer que Google Chrome muestre la URL completa en la barra de direcciones.

Cómo recuperar el antiguo Reddit

Cómo recuperar el antiguo Reddit

Reddit cambió su diseño una vez más en enero de 2024. Los usuarios del navegador de escritorio pueden ver el rediseño y reduce el feed principal al tiempo que proporciona enlaces.

Cómo copiar contenido de libros de texto con Google Lens

Cómo copiar contenido de libros de texto con Google Lens

Escribir tu cita favorita de tu libro en Facebook lleva mucho tiempo y está lleno de errores. Aprenda a usar Google Lens para copiar texto de libros a sus dispositivos.

No se pudo encontrar la dirección DNS del servidor reparado en Chrome

No se pudo encontrar la dirección DNS del servidor reparado en Chrome

A veces, cuando estás trabajando en Chrome, no puedes acceder a ciertos sitios web y aparece el error "No se pudo encontrar la dirección DNS del servidor de reparación en Chrome". Así es como puede resolver el problema.

Guía rápida sobre cómo crear recordatorios en Google Home

Guía rápida sobre cómo crear recordatorios en Google Home

Los recordatorios siempre han sido lo más destacado de Google Home. Seguramente nos hacen la vida más fácil. Hagamos un recorrido rápido sobre cómo crear recordatorios en Google Home para que nunca dejes de hacer recados importantes.

Netflix: cambiar contraseña

Netflix: cambiar contraseña

Cómo cambiar tu contraseña en el servicio de vídeo en streaming Netflix usando tu navegador preferido o aplicación de Android.

Cómo deshabilitar el mensaje de restauración de páginas en Microsoft Edge

Cómo deshabilitar el mensaje de restauración de páginas en Microsoft Edge

Si desea deshacerse del mensaje Restaurar páginas en Microsoft Edge, simplemente cierre el navegador o presione la tecla Escape.

Las 10 mejores alternativas de voz de Google en 2023

Las 10 mejores alternativas de voz de Google en 2023

¿Busca una alternativa confiable de Google Voice para llamadas telefónicas? Descubra las mejores alternativas de llamadas VoIP a Google Voice.

¿Qué es un sombrero negro?

¿Qué es un sombrero negro?

Un sombrero negro es un hacker que victimiza a las personas y viola la ley. Sigue leyendo para saber más sobre el tema.

¿Qué es un ciberdelincuente?

¿Qué es un ciberdelincuente?

¿No sabes qué es un ciberdelincuente? Un ciberdelincuente es un delincuente que comete delitos principalmente utilizando sistemas informáticos.