Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Aplicaciones web

5 tareas · 30 min · Principiante

La web es la superficie que casi toda empresa expone a internet, y donde más fallan las tres cosas que esta sala trata: inyección, autenticación y control de acceso. No hace falta un exploit de sistema; basta un parámetro que la aplicación confía cuando no debería. Se practica contra la tienda en línea ficticia de Arrecife Comercio en el laboratorio de la nube, con la máquina de ataque y herramientas como OWASP ZAP y sqlmap, ejerciendo la explotación de una aplicación expuesta (MITRE ATT&CK T1190) dentro del alcance. Esta sala es de criterio: reconocer el fallo por su síntoma y medir su impacto real, no lanzar cargas al azar.

0 de 5 · 0%

Objetivo de la sala

La web es la superficie que casi toda empresa expone a internet, y donde más fallan las tres cosas que esta sala trata: inyección, autenticación y control de acceso. No hace falta un exploit de sistema; basta un parámetro que la aplicación confía cuando no debería. Se practica contra la tienda en línea ficticia de Arrecife Comercio en el laboratorio de la nube, con la máquina de ataque y herramientas como OWASP ZAP y sqlmap, ejerciendo la explotación de una aplicación expuesta (MITRE ATT&CK T1190) dentro del alcance. Esta sala es de criterio: reconocer el fallo por su síntoma y medir su impacto real, no lanzar cargas al azar.

Una inyección SQL aparece cuando la aplicación mete lo que escribe el usuario dentro de una consulta sin separarlo de la instrucción. El síntoma no siempre es un error visible: a veces es que una comilla en un campo cambia el comportamiento, que un ' OR '1'='1 devuelve resultados que no deberían, o que una condición verdadera y una falsa producen respuestas distintas. Reconocerlo es leer el cambio de comportamiento, no esperar un mensaje de error rojo.

En la tienda de Arrecife, un campo de búsqueda devuelve resultados distintos ante una condición verdadera y una falsa que inyectas. Ese contraste es la firma de una inyección, y dirige el paso siguiente: confirmarla de forma controlada, por ejemplo con sqlmap dentro del alcance.

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

Un campo de búsqueda de Arrecife responde distinto ante una condición verdadera y una falsa que inyectas. ¿Qué indica?

Ver pista de ayuda

El síntoma no es un error rojo; es que tu entrada cambia el comportamiento de la consulta.

Son dos controles distintos y se confunden todo el rato. La autenticación responde «¿quién eres?»; la autorización, «¿qué puedes ver o hacer?». Una aplicación puede autenticar bien —pide usuario y contraseña, valida el segundo factor— y autorizar mal: una vez dentro, no comprueba que el recurso que pides sea tuyo. El pentester tiene que saber cuál de los dos falla, porque el arreglo es distinto.

En Arrecife inicias sesión como un cliente normal y, cambiando un número en la dirección de un pedido, ves el pedido de otro cliente. La autenticación funcionó; lo que falló es la autorización: la aplicación no comprobó de quién es el recurso.

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

Autenticado como cliente en Arrecife, cambias un número en la URL y ves el pedido de otra persona. ¿Qué control falló?

Ver pista de ayuda

Entraste con tus credenciales (autenticación OK). Ver lo ajeno es fallo de autorización.

Encontrar que puedes ver el pedido de otro cliente no es el final: hay que medir hasta dónde llega. ¿Es un pedido suelto o puedes recorrer todos cambiando el número? ¿Se ven datos personales, direcciones, medios de pago? El impacto de un control de acceso roto se mide por el alcance de lo que expone, y eso se demuestra con la mínima evidencia necesaria —sin volcar la base entera, como fija la regla de manejo de datos de la ruta—.

En Arrecife confirmas que el número del pedido es secuencial y que recorriéndolo se expondrían los datos de todos los clientes. Ese es el impacto real que va al informe, probado con una muestra mínima, no con el volcado completo.

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

Confirmas que los pedidos de Arrecife son numerados en serie y se pueden recorrer. ¿Cómo mides y pruebas el impacto?

Ver pista de ayuda

El impacto es el alcance de lo que expone, probado con la evidencia mínima. Ni se infravalora ni se vuelca todo.

Una inyección SQL rara vez se queda en leer datos. Según los permisos de la cuenta de base de datos, puede permitir leer credenciales de otros usuarios, escribir archivos en el servidor o, en el peor caso, ejecutar comandos. El criterio es reconocer hasta dónde llega el fallo sin pasarse de lo necesario para probarlo, porque una inyección que da acceso al servidor conecta esta sala con la explotación y con la escalada.

En Arrecife, la inyección de la tienda permite leer una tabla con credenciales de cuentas internas. Eso cambia el engagement: esas credenciales alimentan la sala de contraseñas y, si se reutilizan, abren otros objetivos. Se documenta el salto, no solo la inyección.

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 inyección de la tienda de Arrecife deja leer una tabla con credenciales internas. ¿Qué significa para el engagement?

Ver pista de ayuda

Una inyección rara vez se queda en leer. Credenciales internas conectan con contraseñas y con otros objetivos.

La inyección se confirma de forma controlada y se documenta por su punto de entrada exacto. Abre el laboratorio y lee la salida de la confirmación: nombra la ruta y el parámetro donde la inyección quedó confirmada. Aísla ese punto de entrada.

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

Abre el laboratorio y lee la salida de la confirmación de la inyección. ¿Cuál es el punto de entrada exacto (ruta con su parámetro) donde se confirmó? Escríbelo tal cual.

Ver pista de ayuda

Está en la salida de la herramienta, en la línea del punto de entrada confirmado; incluye la ruta y el parámetro. No está en la teoría.

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