
CSPTPlayground is an open-source playground to find and exploit Client-Side Path Traversal (CSPT).
Bienvenido al CSPT Playground, una aplicación que ofrece la oportunidad de aprender, descubrir y explotar el Path Traversal del lado del cliente (CSPT).
El Path Traversal del lado del cliente (CSPT) es una vulnerabilidad que permite a un atacante manipular las rutas de archivo utilizadas por una aplicación del lado del cliente. Esto puede dar lugar a diversas vulnerabilidades, como Cross-Site Scripting, fugas de datos sensibles y Cross-Site Request Forgery, entre muchas otras.
Esta aplicación es un campo de juegos diseñado específicamente para demostrar y explotar vulnerabilidades de Path Traversal del lado del cliente. Proporciona una plataforma para experimentar con múltiples exploits, como CSPT2CSRF (Path Traversal del lado del cliente a Cross-Site Request Forgery) y CSPT2XSS (Path Traversal del lado del cliente a Cross-Site Scripting).
Se han implementado varios gadgets y sinks en esta aplicación para mostrar los posibles riesgos y consecuencias del CSPT. Otras fuentes, como el CSPT almacenado u otros impactos, aún no se han cubierto, por ejemplo, la contaminación de prototipos (prototype pollution), el DOM clobbering, etc.
Si eres nuevo en CSPT, asegúrate de leer nuestro artículo de blog y nuestro informe técnico.
¡Espero que te guste, feliz explotación!
Empaquetamos el backend, el frontend y la base de datos con Docker. Si tienes Docker instalado, puedes ejecutarlo con:
docker compose up
La aplicación React es accesible en http://localhost:3000 y la API Express en http://localhost:8000
Puedes cambiar el host y el puerto del backend con los argumentos de Docker REACT_APP_BACKEND_HOST y REACT_APP_BACKEND_PORT.
docker-compose build --build-arg REACT_APP_BACKEND_HOST=<hostname>
docker compose up
Puedes ejecutar los servicios sin Docker. El desarrollo se realizó con Node v20.9.0.
docker run --name mongodb -d -p 27017:27017 mongodb/mongodb-community-server
cd ./backend/app/ && npm install && npm start
cd ./frontend/app/ && npm install && npm start
El CSPT Playground prospera gracias a las contribuciones de la comunidad. Ya seas desarrollador, investigador, diseñador o cazador de bugs, tu experiencia es invaluable para nosotros. Agradecemos los informes de errores, los comentarios y las pull requests. Tu participación nos ayuda a seguir mejorando la aplicación, convirtiéndola en una herramienta más sólida para la comunidad.
Las interacciones se realizan mejor a través del rastreador de incidencias de GitHub, pero también puedes contactarnos en las redes sociales (@Doyensec). ¡Esperamos saber de ti!
Un agradecimiento especial a nuestros contribuyentes. Su dedicación y compromiso han sido fundamentales para hacer de esta extensión lo que es hoy.
Actuales:
Este proyecto se realizó con el apoyo de Doyensec.