
CSPTPlayground — это открытая песочница для поиска и эксплуатации Client-Side Path Traversal (CSPT).
Добро пожаловать в CSPT Playground — приложение, которое даёт возможность изучать, находить и эксплуатировать Client-Side Path Traversal (CSPT).
Client-Side Path Traversal (CSPT) — это уязвимость, которая позволяет атакующему манипулировать путями к файлам, используемыми клиентским приложением. Это может приводить к различным уязвимостям, включая межсайтовый скриптинг (Cross-Site Scripting), утечки конфиденциальных данных, межсайтовую подделку запросов (Cross-Site Request Forgery) и многие другие.
Это приложение — полигон, специально разработанный для демонстрации и эксплуатации уязвимостей Client-Side Path Traversal. Оно предоставляет платформу для экспериментов с множеством эксплойтов, такими как CSPT2CSRF (Client-Side Path Traversal to Cross-Site Request Forgery) и CSPT2XSS (Client-Side Path Traversal to Cross-Site Scripting).
В приложении реализованы различные гаджеты и стоки (sinks), чтобы продемонстрировать потенциальные риски и последствия CSPT. Другие источники, такие как store CSPT, или иные воздействия пока не рассмотрены, например прототипное загрязнение (prototype pollution), DOM-клобберинг (DOM clobbering) и т. д.
Если вы ещё новичок в CSPT, обязательно прочитайте наш пост в блоге и технический отчёт (whitepaper).
Надеюсь, вам понравится! Удачной эксплуатации!
Мы упаковываем бэкенд, фронтенд и базу данных в Docker. Если у вас установлен Docker, вы можете запустить приложение командой:
docker compose up
React-приложение доступно по адресу http://localhost:3000, а Express API — по адресу http://localhost:8000
Вы можете изменить хост и порт бэкенда с помощью docker-аргументов REACT_APP_BACKEND_HOST и REACT_APP_BACKEND_PORT.
docker-compose build --build-arg REACT_APP_BACKEND_HOST=<hostname>
docker compose up
Вы можете запускать сервисы без Docker. Разработка велась с использованием 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 процветает благодаря вкладу сообщества. Будь вы разработчик, исследователь, дизайнер или охотник за багами, ваш опыт бесценен для нас. Мы приветствуем отчёты об ошибках, обратную связь и pull request'ы. Ваше участие помогает нам продолжать улучшать приложение, делая его более надёжным инструментом для сообщества.
Взаимодействие лучше всего осуществлять через GitHub issue tracker, но вы также можете связаться с нами в социальных сетях (@Doyensec). Будем рады услышать вас!
Особая благодарность нашим участникам. Ваша преданность и вклад сыграли ключевую роль в том, каким это расширение стало сегодня.
Текущие:
Этот проект был создан при поддержке Doyensec.