¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Fundamentos de WrongSecrets

Aquí está la lección completa para leer. Crea una cuenta gratuita para practicarla en un laboratorio en vivo.

Laboratorio de contenedores6 min de lectura3 comandos

Qué vas a hacer

Un secreto es una contraseña, una clave o un token que debe seguir siendo privado. Quien programa suele dejarlos donde no toca: escritos en el código, enviados al navegador o mostrados por una página de supervisión. WrongSecrets es una aplicación que hace todo esto a propósito, para que aprendas a detectarlo. Comprobarás que funciona, verás lo que revela a cualquiera que se lo pida y leerás un script que envía a todos los visitantes.

La única regla

Advertencia

Este laboratorio ejecuta una web insegura a propósito. Ataca solo esa web. Es tu copia privada y no tiene salida a internet, así que no puede afectar a nadie. No pruebes nunca estas cosas en una web que no sea tuya: en el Reino Unido es un delito según la ley británica Computer Misuse Act de 1990.

Antes de empezar

Nota

Pulsa Iniciar el laboratorio en la barra superior de esta lección y espera a que diga que está en marcha. La aplicación se abre desde el enlace OWASP WrongSecrets de la barra. Cada botón Ejecutar escribe su comando en el terminal de tu laboratorio, uno detrás de otro y en la misma sesión. Para verlos o para escribir los tuyos, pulsa Abrir el terminal (pestaña nueva) en la barra.

1. Comprueba que la aplicación funciona

Esto le pregunta a la aplicación si funciona bien. Responde {"groups":["liveness","readiness"],"status":"UP"}, lo que significa que está lista.

Comando
curl -s -w "\n" http://wrongsecrets:8080/actuator/health

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

2. Juega al Challenge 0

Pulsa el enlace OWASP WrongSecrets de la barra del laboratorio y elige Challenge 0 en el menú Challenges (retos). Explica el juego y muestra su propia respuesta: cópiala en la casilla y pulsa Submit, y la página dice Your answer is correct! Prueba antes con una respuesta inventada y dirá Your answer is incorrect, try harder ;-). Son los textos en inglés de la propia aplicación.

3. Mira qué ofrece a cualquiera

Las aplicaciones suelen tener páginas para las personas que las gestionan. Cualquiera que llegue a esta aplicación puede pedirle la lista de esas páginas, y nombra tres: auditevents, health e info (sort -u las ordena y quita la repetida, porque la lista nombra health dos veces). Piensa cuál de las tres no querrías que leyera un desconocido. El Challenge 42 trata de una de ellas.

Comando
curl -s http://wrongsecrets:8080/actuator | grep -o 'actuator/[a-z]*' | sort -u

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

4. Lee el script que recibe todo visitante

Algunas aplicaciones guardan un secreto en un script que ejecuta el navegador. Esta envía a todos los visitantes un script llamado index.js. Sus primeros caracteres están revueltos a propósito para que cueste leerlo, pero tu navegador tiene que descargarlo entero para ejecutarlo, y curl también. Un secreto que el navegador necesita es un secreto que tiene todo el mundo. El Challenge 16 te pide encontrar el que hay dentro.

Comando
curl -s http://wrongsecrets:8080/js/index.js | head -n 1 | cut -c 1-120

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

5. Sigue por tu cuenta

Prueba el Challenge 16 y el Challenge 42 en el navegador, y usa las pistas (hints) de cada reto cuando te atasques. Muchos retos no se pueden hacer en un laboratorio, porque piden algo que la copia del laboratorio no tiene (no tiene salida a internet): sáltalos y elige otro. Por cada secreto que encuentres, anota dónde estaba y dónde debería haberse guardado.

Para el profesorado

Consejo

Esta lección es un pequeño ejemplo de una lección practicada en un laboratorio: los pasos y los botones Ejecutar son la lección, y el laboratorio es la copia de cada alumno. WrongSecrets tiene decenas de retos sobre código, contenedores, configuración y registros, así que el mismo laboratorio sirve para una unidad entera. Nada se corrige solo: pida una captura de pantalla de cada reto resuelto y una frase sobre dónde debería haberse guardado el secreto. Cópiela en su propio módulo y modifíquela, o cree una desde cero con el menú Laboratorio del creador de lecciones.

Sobre este laboratorio y su código: Laboratorio de WrongSecrets: encuentra secretos incrustados y aprende dónde guardarlos

¿Enseñas a una clase? Asigna estas lecciones a tus estudiantes con calificación y un laboratorio para cada uno.