
Cómo hemos dicho muchas veces, sin hacer no se aprende. Leer es un hábito que todos debemos desarrollar y cultivar, pero cuando hablamos de tecnología, si sólo lees y no pruebas, practicas, rompes, etc, no aprenderás mucho.
Ya hemos publicado algunas entradas ( vulnerable , pentesting , etc) con aplicaciones vulnerables de forma intencionada para el beneficio del que desea practicar y aprender. En este caso os hablamos sobre otra de estas aplicaciones, aunque esta vez es una REST API .
Conocer como funcionan las APIs REST es fundamental, sobre todo para desarrolladores y auditores de seguridad, cualquiera que sea el color de tu equipo. Hay quien dice que las APIs son los nuevos blogs para las empresas, y que prácticamente cualquier empresa debería tener su propia API.
Tiredful-API es una REST API intencionadamente vulnerable. Está escrita en Python con Django y actualmente contiene las siguientes vulnerabilidades:
- Information Disclosure.
- Insecure Direct Object Reference.
- Access Control.
- Throttling.
- SQL Injection (SQLite).
- Cross Site Scripting.
El código está disponible en Github , junto con las instrucciones de cómo ejecutarla.
Pero si no te encuentras cómodo con Python y Django, o simplemente no quieres instalar ninguna de las dependencias que necesitas, puedes usar una imagen Docker que he creado y que puedes ejecutar con un simple comando:
docker container run -it --rm -p 8000:8000 tuxotron/tiredful-api
Evidentemente necesitas tener Docker instalado. Si tu usuario no es parte del grupo de Docker o no tienes privilegios elevados, necesitarás prefijar el comando anterior con sudo.
sudo docker container run -it --rm -p 8000:8000 tuxotron/tiredful-api
Una vez hayas ejecutado dicho comando, puedes acceder a la aplicación yendo a http://localhost:8000.
Si te atascas y necesitas un poco de ayuda, puedes acceder a las soluciones , pero inténtalo y no te des por vencido muy rápido.