🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónInyección SQL ciega, lo que revela la respuesta
5 tareas · 35 min · Principiante
A veces la página no muestra datos ni errores y el fallo existe igual: lo único que cambia es el texto de la respuesta, su longitud o el tiempo que tarda. Esa es la inyección ciega. En esta sala no se extrae nada: lees dos registros de evidencia de Papelería Trapiche, uno de un seguimiento de pedidos que cambia de longitud y otro de un boletín que solo cambia de tiempo, y redactas lo que prueban y lo que no. Lo que sigue siendo la causa es el mismo mecanismo de la sala anterior, y la corrección también.
Objetivo de la sala
A veces la página no muestra datos ni errores y el fallo existe igual: lo único que cambia es el texto de la respuesta, su longitud o el tiempo que tarda. Esa es la inyección ciega. En esta sala no se extrae nada: lees dos registros de evidencia de Papelería Trapiche, uno de un seguimiento de pedidos que cambia de longitud y otro de un boletín que solo cambia de tiempo, y redactas lo que prueban y lo que no. Lo que sigue siendo la causa es el mismo mecanismo de la sala anterior, y la corrección también.En una inyección ciega por respuesta, la aplicación no devuelve el dato ni un error, pero se comporta de manera distinta según se cumpla o no una condición que quien evalúa añadió a la consulta. Para confirmar el fallo basta un par de pruebas inertes: una afirmación siempre cierta y otra siempre falsa. Si la respuesta de la primera es idéntica a la normal y la de la segunda es distinta, la base de datos está evaluando lo que se le envió.
Lee registro-booleano.txt. Fíjate en qué se parecen BO-01 y BO-02, en qué se parecen BO-03 y BO-04 y en qué se diferencian los dos grupos entre sí.
Responde para continuar
BO-02 y BO-03 solo se diferencian en la afirmación añadida, y la respuesta cambia de longitud. ¿Qué demuestra?
Ver pista de ayuda
Dos pruebas casi idénticas con resultados distintos, y una de ellas igual a la respuesta normal.
Una forma práctica de comparar respuestas es fijarse en su longitud y en el texto que la página muestra. Cuando la longitud de una respuesta coincide con la de un caso conocido (por ejemplo, un pedido que no existe), esa es la huella de una afirmación falsa. En un informe, esa cifra se anota junto a la de la respuesta normal para que quien repita la prueba pueda comprobarla.
Responde para continuar
Escribe la longitud de la respuesta cuando la afirmación añadida al pedido es falsa.
Ver pista de ayuda
Busca en la tabla la fila de la afirmación falsa. Otra fila, la de un pedido que no existe, da la misma cifra.
El boletín devuelve siempre el mismo texto con la misma longitud. Si hay inyección, la única señal posible es el tiempo: una condición que, si se cumple, pide a la base de datos que espere unos segundos. Una respuesta mucho más lenta que la línea base, y solo cuando la condición es cierta, es la evidencia. Es una prueba lenta y ruidosa, por eso se repite para descartar que sea la red, y se detiene en cuanto el fallo queda confirmado: no hace falta más para el hallazgo.
Abre registro-tiempos.txt y compara cada tiempo con los dos primeros, que son la línea base.
Responde para continuar
Escribe el identificador de la prueba de la tabla de tiempos que se desvía de la línea base.
Ver pista de ayuda
Solo una prueba tarda segundos; las demás están cerca de los 200 milisegundos.
El equipo de Trapiche respondió con dos medidas: páginas de error genéricas y un filtro que quita algunas palabras de SQL de los parámetros. Ninguna toca la causa. Un error genérico no impide que la respuesta siga cambiando según la condición, y un filtro de palabras es una lista de lo que alguien pensó que era peligroso; siempre falta algo.
La corrección es la misma que en la sala anterior: consultas parametrizadas. Las otras dos medidas pueden quedarse como capas adicionales, pero no cierran el hallazgo.
Responde para continuar
El equipo cambió los errores a mensajes genéricos y añadió un filtro de palabras. ¿Queda corregido el hallazgo?
Ver pista de ayuda
Mira qué sigue ocurriendo en BO-02 y BO-03 aunque los errores sean genéricos.
Una inyección ciega se redacta con precisión sobre lo que se probó. Se confirmó que la base evalúa lo enviado, por respuesta en un parámetro y por tiempo en otro; no se extrajo nada, y el informe no dice que sí. El impacto se razona por lo que esa clase de fallo permite en principio y por los permisos de la cuenta (la sala anterior), pero se marca como potencial, no como probado.
Responde para continuar
¿Cómo redactas el hallazgo de los dos parámetros?
Ver pista de ayuda
El informe dice lo que la evidencia sostiene, ni más ni menos.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.