¿Cual es la diferencia entre publicar y recibir solicitudes

¿Qué es la inyección SQL? – ExpertoGeek

Una de las clases más grandes 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 variaciones del lenguaje según la plataforma de la base de datos. Cualquier sitio web que almacene datos de usuarios, como información de cuentas, o que proporcione funciones de carga de usuarios, 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 «sequel», siendo la primera opción más común en inglés británico y la segunda más común 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 código que se comunica entre el servidor web y la base de datos no implementan protección contra los comandos SQL enviados por un usuario. El problema es que es posible sacar declaraciones de la base de datos y agregar nuevos argumentos o una declaración completamente nueva. La segunda declaración de la base de datos o modificada 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 verdaderas las declaraciones existentes en todas las circunstancias o proporcionar un segundo comando empaquetado que realiza una acción específica, como eliminar o mostrar todos los datos. Por ejemplo, una declaración SQL para conectarse a 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 acceder a un exploit de inyección SQL, puede intentar agregar una cláusula «o verdadera» como «o 1 = 1». Esto haría que el comando fuera como «conectar con [this] nombre de usuario, si la contraseña es [this], o esta afirmación es cierta ”.

Cómo prevenir SQLi

SQLi era una forma muy común para que los sitios web violaran su base de datos y luego la filtraran 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 abordado en gran medida y rara vez se ve más.

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, se escribe el comando de la base de datos 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 pedido. 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.

Experto Geek - Tu Guía en Tendencias Tecnológicas