platzi / curso-owasp-top-10

Aplicación vulnerable al OWASP Top 10 2021, para el Curso de OWASP Top 10: Riesgos en Aplicaciones.

Home Page:https://platzi.com/cursos/owasp-top-10

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Curso de OWASP Top 10: Riesgos en Aplicaciones

Introducción

Esta es la documentación del proyecto de aplicación vulnerable para el Curso de OWASP Top 10: Riesgos en Aplicaciones de Platzi.

A continuación encontrarás toda la información necesaria para utilizar este proyecto.

Índice

  1. Introducción
  2. Pasos de instalación
    1. Paso 1: Clonar el repositorio
    2. Paso 2: Agregar el alias localbox a tu localhost
    3. Paso 3: Agrega el certificado CA al navegador
  3. Uso del repositorio
  4. Comandos de docker
  5. Software de trabajo
  6. Recursos adicionales
  7. Créditos

Pasos de instalación

  1. Clonar el repositorio
  2. Agregar alias localbox al localhost
  3. Agregar certificado CA al navegador

Paso 1: Clonar el repositorio

Para clonar el repositorio simplemente muevete a tu directorio de trabajo en la terminal y ejecuta el comando.

git clone https://github.com/platzi/curso-owasp-top-10 OWASPTop10

Se creará el directorio OWASPTop10, en el que podrás trabajar el proyecto.

Paso 2: Agrega el alias localbox a tu localhost

Para poder utilizar los certificados SSL se necesita que coincidan con el nombre de dominio registrado, por lo tanto es necesario indicarle a nuestra computadora ese dominio y acceder al proyecto desde esa dirección.

Agregar el alias en sistemas tipo UNIX (MacOS y Linux)

Para agregar el alias en sistemas tipo UNIX solamente necesitas editar el archivo /etc/hosts, con tu editor de texto plano preferido, siempre teniendo permisos de administrador.

Agrega la siguiente línea y guarda los cambios:

127.0.0.1   localbox

Agregar el alias en Windows

En el caso de windows deberás editar el archivo C:\Windows\System32\drivers\etc\hosts, con tu editor de texto plano preferido, siempre teniendo permisos de administrador.

Agrega la siguiente línea y guarda los cambios:

127.0.0.1   localbox

Resultado final

Este es un ejemplo de mi resultado final:

127.0.0.1   localhost
127.0.0.1   localbox

Ahora si, puedes utilizar el alias ingresando a http://localbox/ en lugar de http://localhost, donde podrás ver la página de inicio del proyecto, siempre que el servidor ya esté ejecutandose.

Paso 3: Agrega el certificado CA al navegador

Para poder utilizar los certificados SSL del proyecto sin ninguna alerta o error del navegador, es necesario agregar el certificado RootCA.crt, que viene en la carpeta CA del repositorio, en las configuraciones del navegador.

Instrucciones para agregar el certificado CA a tu navegador

Agregar el certificado en Chrome 1. Abre Chrome y ve a la configuración haciendo clic en el icono de tres puntos en la esquina superior derecha.
2. En el menú desplegable, selecciona "Configuración".
3. En la sección "Privacidad y seguridad", haz clic en "Seguridad".
4. Desplázate hacia abajo hasta encontrar la sección "Certificados" y haz clic en "Administrar certificados".
5. En la ventana que se abre, selecciona la pestaña "Autoridades", luego haz clic en "Importar" y sigue el asistente de importación para seleccionar el archivo `RootCA.crt` y agregarlo como una Autoridad de Certificación de Confianza.
Agregar el certificado en Firefox 1. Abre Firefox y ve a la configuración haciendo clic en el menú de tres líneas en la esquina superior derecha.
2. Selecciona "Preferencias" en el menú desplegable.
3. En el panel izquierdo, selecciona "Privacidad y seguridad".
4. Desplázate hacia abajo hasta encontrar la sección "Certificados" y haz clic en "Ver certificados".
5. En la ventana que se abre, selecciona la pestaña "Autoridades" y haz clic en "Importar".
6. Sigue el asistente de importación para seleccionar el archivo `RootCA.crt` y agregarlo como una Autoridad de Certificación de Confianza.
Agregar el certificado en Safari 1. Abre Safari y ve al menú "Safari" en la barra de menú superior.
2. Selecciona "Preferencias" en el menú desplegable.
3. Ve a la pestaña "Avanzado".
4. Marca la casilla "Mostrar menú Desarrollo en la barra de menús".
5. Ahora, en la barra de menú superior, aparecerá un nuevo menú "Desarrollo". Haz clic en él y selecciona "Preferencias de certificados".
6. En la ventana que se abre, selecciona la pestaña "Autoridades" y haz clic en "Importar".
7. Sigue el asistente de importación para seleccionar el archivo `RootCA.crt` y agregarlo como una Autoridad de Certificación de Confianza.

Uso del repositorio

Usa la rama vulnerable para ver la versión vulnerable del proyecto.

git checkout vulnerable

Cambia a la rama de cada riesgo del Top 10, para ver su solución.

git checkout <rama>

Por ejemplo:

git checkout A01-BrokenAccessControl

Usa la rama solved para ver la versión corregida del proyecto.

git checkout solved

Comandos de docker

Aquí te van algunos comandos útiles para utilizar el proyecto durante las prácticas.

Recuerda que para los siguientes comandos, debes encontrarte en el directrio del proyecto, en el mismo lugar que el archivo docker-compose.yml.

Ejecutar el proyecto

docker compose up --build

Ver logs por contenedor

docker logs <nombre-contenedor>

Por ejemplo:

docker logs backend

Terminar la ejecución del proyecto

Usa la combinación de teclas [Ctrl]+[C] ó el equivalente en tu sistema operativo

Eliminar los contenedores y volumenes de datos

docker compose down --volumes

IMPORTANTE

Recuerda terminar el proceso de docker y eliminar los volúmenes cada vez que cambies de rama para generar un entorno limpio desde cero.

Software de trabajo

  • VS Code
  • Docker
  • Burp Suite
  • DirBuster
  • NodeJS (para la clase de npm audit)
Aquí te comparto una lista de tutoriales para instalar tus herramientas de pentesting Tutorial de instalación de Docker
Tutorial de instalación de Burp Suite en Windows
Tutorial de instalación de Burp Suite en Linux
Tutorial de instalación de Burp Suite en MacOS
Tutorial de instalación de DirBuster

Recursos adicionales

Clases relacionadas

A continuación puedes encontrar las clases de los 10 retos del proyecto relacionados al OWASP Top 10. A01:2021 - Broken Access Control
A02:2021 - Cryptographic Failures
A03:2021 - Injection
A04:2021 - Insecure Design
A05:2021 - Security Misconfiguration
A06:2021 - Vulnerable And Outdated Components
A07:2021 - Identification And Authentication Failures
A08:2021 - Software And Data Integrity Failures
A09:2021 - Security Logging And Monitoring Failures
A10:2021 - Server-Side Request Forgery

Acceso a grafana

Para acceder a las métricas en grafana puedes seguir los siguientes pasos:

  1. Entra a https://localbox/grafana
  2. Usa las credenciales por defecto para acceder al dashboard
  3. Haz click en la opción "saltar" en la ventana de cambiar contraseña

Estas son las credenciales por defecto en grafana:

username password
admin admin

¡Listo!

Ahora puedes acceder a tus métricas en grafana.

Usuarios de la aplicación

La aplicación tiene un usuario administrador y cuatro usuarios comunes, estas son sus credenciales:

username password
admin admin
user1 1234
user2 1234
user3 1234

Happy Hunting!

Ha llegado el momento de poner manos a la obra y realizar tus prácticas.

Hacker Cat

Créditos

Proyecto creado por Diana Nerd.

Para el Curso de OWASP Top 10: Riesgos en Aplicaciones en Platzi.

About

Aplicación vulnerable al OWASP Top 10 2021, para el Curso de OWASP Top 10: Riesgos en Aplicaciones.

https://platzi.com/cursos/owasp-top-10

License:MIT License


Languages

Language:HTML 50.2%Language:JavaScript 48.1%Language:Dockerfile 1.7%