ataques de inyección - terminología

2

Tengo una pregunta relacionada con los ataques de inyección como las inyecciones de SQL y las inyecciones de comandos.

Tengo un buen conocimiento de cómo se realizan esos ataques, pero me gustaría saber de dónde proviene el término inyección .

¿Se debe a que el atacante inyecta (inserta) códigos / comandos maliciosos en los datos enviados a la aplicación?

    
pregunta othman 04.11.2016 - 23:09
fuente

2 respuestas

2

Sí, es una inyección porque está inyectando su código en el código SQL existente.

Por ejemplo. Una forma común de iniciar sesión en un usuario utilizando php y SQL se ve así:

$sql = "SELECT * FROM users WHERE username = '" . $POST['username'] . "' AND password = '" . $POST['password'] . "';"

Las variables $ POST ['nombre de usuario'] y $ POST ['contraseña'] lo que el usuario coloca en los campos de inicio de sesión. Si el usuario ingresó lo siguiente.

' or 1 == 1 ---

El SQL resultante que se ejecuta se ve así:

SELECT * FROM users WHERE username = '' or 1 == 1 --- AND password = '';

Note que todo después del "---" es un comentario y se ignora. Así que el sql mira para ver si puede encontrar un nombre de usuario que coincida con null o 1 == 1. Como 1 siempre es igual a 1, el SQL devolverá verdadero e iniciará la sesión del usuario.

Esto se llama inyección porque el usuario está inyectando su código en el código que escribió el desarrollador.

    
respondido por el MikeSchem 03.10.2017 - 18:01
fuente
0

Es solo una palabra. La etimología de la palabra es sobre algo que se "introduce" que se ajusta al propósito.

    
respondido por el pacifist 07.11.2016 - 08:33
fuente

Lea otras preguntas en las etiquetas