¿Es posible omitir la codificación de referencia de caracteres HTML para inyectar SQL en este contexto?

1

Estaba hurgando en la página de "restablecer contraseña" de un sitio web (se permiten pruebas de seguridad y búsqueda de errores)

Cuando ingresas tu dirección de correo electrónico, utiliza la codificación de referencia de caracteres HTML para codificar tu dirección. Por ejemplo:

Correo electrónico: [email protected] > > example@example.com

¿Es posible inyectar comandos SQL incluso si se ha codificado de esta forma?

Gracias de antemano

    
pregunta Mico 05.05.2015 - 15:03
fuente

1 respuesta

1

La inyección de SQL funciona omitiendo la parte de "valor" de la sintaxis de SQL en la parte de "comando".

Los valores de cadena (como en su ejemplo) están rodeados por comillas: para desglosar debería incluir una comilla similar en su valor (como ' WHERE 1; DROP TABLE ... o cualquiera que sea la sintaxis real). La codificación HTML no permite comillas, por lo que no funcionará.

Me pregunto un poco acerca de los campos sin comillas, p. ej. si está esperando un número (de un menú desplegable) pero le das un comando (como 5 WHERE 1; DROP TABLE ... o lo que sea). Sin embargo, no conozco ninguna declaración SQL de una sola palabra, es decir, no puede hacer nada sin separar los tokens (por ejemplo, un espacio o una puntuación ( , etc.). Así que incluso si estuvieras viendo un campo sin comillas como un número, podrías arruinar la declaración y producir un error, pero en realidad no ejecutar nada.

    
respondido por el cloudfeet 05.05.2015 - 15:21
fuente

Lea otras preguntas en las etiquetas