Error de consulta de inyección de SQL con barra invertida

5

Tengo un sitio vulnerable de inyección de SQL que funciona bien si ingreso una consulta como esta qq '- // o qq' -; . Pero cuando inyecto sin barra o punto y coma, aparece el siguiente error: "Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para obtener la sintaxis correcta para usar cerca de '-%' 'en la línea 1 "

Entonces, ¿cuál es el uso de barra o punto y coma en la consulta, por favor explique el escenario?

    
pregunta Gowtham 16.10.2015 - 16:25
fuente

2 respuestas

1

La sintaxis de los comentarios de MySQL requiere un espacio en blanco o un carácter de control después de -- :

  

Desde una secuencia de " --  " hasta el final de la línea. En MySQL, el estilo de comentario “ --  ” (doble guión) requiere que al segundo guión le siga al menos un espacio en blanco o un carácter de control (como un espacio, una pestaña, una nueva línea, etc.). Esta sintaxis difiere ligeramente de la sintaxis estándar de comentarios de SQL, como se explica en Sección 1.7.2.4, "'-' como el inicio de un comentario" .

El carácter adicional incluido en sus casos probablemente solo evita la eliminación del espacio en blanco o el carácter de control requerido por MySQL.

    
respondido por el Gumbo 17.10.2015 - 08:48
fuente
0

// es una forma de comentar una línea en PHP y posiblemente en otros idiomas, por lo que tendría sentido que pueda estar haciendo que el resto de la consulta sea ignorada. En cuanto al punto y coma es para decirle que la línea está terminada. Si es un código de varias líneas, lo harás comentar el resto y decirle que ejecute la línea hasta el punto y coma.

es posible que desee probar su inyección antes de // y terminar con;

Además, dependiendo de cómo se ejecutó la consulta, es posible que pueda escribir sus propias consultas adicionales separándolas con;

    
respondido por el David- 16.10.2015 - 16:51
fuente

Lea otras preguntas en las etiquetas