
CSPTPlayground est un terrain de jeu open-source pour découvrir et exploiter les traversées de chemin côté client (CSPT).
Bienvenue dans le CSPT Playground, une application qui offre l'opportunité d'apprendre, de trouver et d'exploiter les failles de type Client-Side Path Traversal (CSPT).
Le Client-Side Path Traversal (CSPT) est une vulnérabilité qui permet à un attaquant de manipuler les chemins de fichiers utilisés par une application côté client. Cela peut conduire à diverses vulnérabilités, notamment le Cross-Site Scripting, les fuites de données sensibles et le Cross-Site Request Forgery, entre autres.
Cette application est un terrain de jeu spécialement conçu pour démontrer et exploiter les vulnérabilités de type Client-Side Path Traversal. Elle fournit une plateforme pour expérimenter avec plusieurs exploits, tels que CSPT2CSRF (Client-Side Path Traversal to Cross-Site Request Forgery) et CSPT2XSS (Client-Side Path Traversal to Cross-Site Scripting).
Divers gadgets et sinks ont été implémentés dans cette application pour mettre en évidence les risques et conséquences potentiels du CSPT. D'autres sources, telles que le store CSPT ou d'autres impacts, n'ont pas encore été couvertes, comme la pollution des prototypes, le DOM clobbering, etc...
Si vous êtes encore novice en matière de CSPT, n'hésitez pas à lire notre article de blog et notre livre blanc.
J'espère que vous apprécierez, bonne exploitation !
Nous empaquetons le backend, le frontend et la base de données avec Docker. Si vous avez Docker installé, vous pouvez l'exécuter avec :
docker compose up
L'application React est accessible à l'adresse http://localhost:3000 et l'API Express à http://localhost:8000
Vous pouvez changer l'hôte et le port du backend avec les arguments docker REACT_APP_BACKEND_HOST et REACT_APP_BACKEND_PORT.
docker-compose build --build-arg REACT_APP_BACKEND_HOST=<hostname>
docker compose up
Vous pouvez exécuter les services sans Docker. Le développement a été réalisé avec 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
CSPT Playground se nourrit des contributions de la communauté. Que vous soyez développeur, chercheur, designer ou chasseur de bugs, votre expertise est inestimable pour nous. Nous accueillons favorablement les signalements de bugs, les retours et les pull requests. Votre participation nous aide à continuer d'améliorer l'application, ce qui en fait un outil plus solide pour la communauté.
Les échanges se font de préférence via le suivi des issues GitHub, mais vous pouvez aussi nous joindre sur les réseaux sociaux (@Doyensec). Nous avons hâte de vous lire !
Un merci tout particulier à nos contributeurs. Votre dévouement et votre engagement ont joué un rôle déterminant dans ce que cette extension est aujourd'hui.
Actuels :
Ce projet a été réalisé avec le soutien de Doyensec.