Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Dónde falla la web de verdad

5 tareas · 30 min · Principiante

La web es donde más se rompe, y se rompe casi siempre por lo mismo: inyección, sesiones y control de acceso. OWASP Top 10 es la lista de los diez fallos que aparecen en todos los informes, y aquí la usas como mapa para reconocer el síntoma y medir el impacto real. Trabajas sobre la aplicación web de Salitre, dentro del alcance aceptado. Sigue siendo criterio de nivel de entrada: ver el síntoma, entender la causa y saber qué se arregla — lo que el que ataca explota y el que defiende cierra.

0 de 5 · 0%

Objetivo de la sala

La web es donde más se rompe, y se rompe casi siempre por lo mismo: inyección, sesiones y control de acceso. OWASP Top 10 es la lista de los diez fallos que aparecen en todos los informes, y aquí la usas como mapa para reconocer el síntoma y medir el impacto real. Trabajas sobre la aplicación web de Salitre, dentro del alcance aceptado. Sigue siendo criterio de nivel de entrada: ver el síntoma, entender la causa y saber qué se arregla — lo que el que ataca explota y el que defiende cierra.

La inyección es el fallo rey de la web: ocurre cuando lo que escribe el usuario se mezcla con la instrucción que la aplicación manda a la base de datos, y el dato acaba mandando en vez de ser tratado como dato. El síntoma, en Salitre, es un buscador cuyo resultado cambia de forma rara al meter una comilla: la aplicación está construyendo la consulta pegando texto del usuario. La causa raíz no es la comilla, es no separar los datos de las instrucciones.

La remediación se llama consultas parametrizadas: la instrucción va por un lado y el dato por otro, de modo que el dato nunca pueda convertirse en orden. Es la misma idea, la escribas donde la escribas.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

El buscador de Salitre cambia de forma rara al meter una comilla en la búsqueda. ¿Qué indica el síntoma?

Ver pista de ayuda

El dato no debería poder cambiar la instrucción. Si la cambia, se están mezclando.

Cuando inicias sesión, el servidor te da una prueba de que ya te identificaste —una cookie de sesión— y la enseñas en cada petición siguiente. Si esa prueba viaja sin cifrar, o no caduca nunca, o se puede adivinar, cualquiera que la consiga entra como tú sin saber tu contraseña. En Salitre, la cookie de sesión viaja también por conexiones sin cifrar: quien mire la red la copia y suplanta al usuario. El fallo no es la contraseña, es cómo se guarda y transporta la prueba de haberla usado.

Autenticarse es demostrar quién eres una vez; la sesión es lo que te evita repetirlo en cada clic. Proteger la sesión es tan importante como proteger la contraseña.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

La cookie de sesión de Salitre viaja también por conexiones sin cifrar. ¿Qué riesgo tiene?

Ver pista de ayuda

La sesión es la prueba de haberte identificado. Quien la roba, entra como tú.

El control de acceso decide quién puede ver o hacer qué. Está roto cuando la aplicación comprueba que iniciaste sesión pero no que el recurso que pides sea tuyo. El síntoma clásico: una dirección como /pedido?id=1043 que muestra tu pedido, y al cambiar el número muestra el de otro cliente. En Salitre, los pedidos se numeran seguidos y no se comprueba la propiedad: cualquier usuario autenticado lee los pedidos de todos. El impacto no es «un fallo técnico», es la exposición de los datos de todos los clientes.

La remediación es comprobar la propiedad del recurso en cada acceso, no solo que haya sesión. Autenticación —quién eres— y autorización —qué te corresponde— son cosas distintas.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

En Salitre, cambiar el número en `/pedido?id=N` muestra pedidos de otros clientes. ¿Qué fallo es y cuál es su impacto?

Ver pista de ayuda

Tener sesión no es lo mismo que tener derecho a ese recurso concreto.

OWASP Top 10 no es una lista para memorizar: es un mapa que ordena por dónde mirar primero, porque son los fallos que de verdad aparecen una y otra vez. Un informe que dice «inyección (A03), control de acceso roto (A01), fallo criptográfico (A02)» habla un idioma que cualquier equipo de desarrollo reconoce y prioriza. En Salitre, los tres síntomas que viste caen en tres categorías del Top 10, y nombrarlos así es lo que convierte tu hallazgo en algo accionable para quien tiene que arreglarlo.

Nombrar bien un fallo es media remediación: pone a todos a hablar de la misma causa raíz y de la misma solución conocida.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Para qué sirve clasificar tus hallazgos web según OWASP Top 10?

Ver pista de ayuda

El Top 10 ordena por dónde mirar y da un idioma común con quien arregla.

El síntoma de inyección se confirma leyendo cómo la aplicación trata la entrada, no de memoria. Abre el laboratorio y revisa las rutas de la aplicación de Salitre: una pega el texto del usuario dentro de la consulta a la base de datos; otra distinta es la de control de acceso roto.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

En el laboratorio, ¿qué ruta con su parámetro construye la consulta pegando el texto del usuario (la de la inyección)? Escríbela tal cual aparece.

Ver pista de ayuda

Está en la lista de rutas, marcada como INYECCION. No es la del control de acceso roto. Sale del laboratorio.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Preparando el escritorio…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build bcc89e

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