
CSPTPlayground is an open-source playground to find and exploit Client-Side Path Traversal (CSPT).
مرحبًا بك في CSPT Playground، وهو تطبيق يتيح لك فرصة التعرّف على ثغرة اجتياز المسار من جانب العميل (Client-Side Path Traversal) واكتشافها واستغلالها.
اجتياز المسار من جانب العميل (CSPT) هي ثغرة تسمح للمهاجم بالتلاعب في مسارات الملفات التي يستخدمها تطبيق يعمل في جانب العميل. يمكن أن يؤدي ذلك إلى ثغرات متعددة، بما في ذلك البرمجة النصية عبر المواقع (Cross-Site Scripting)، وتسريب بيانات حساسة، وتزوير الطلبات عبر المواقع (Cross-Site Request Forgery)، وغيرها الكثير.
هذا التطبيق هو ملعب مصمم خصيصًا لعرض واستغلال ثغرات اجتياز المسار من جانب العميل. فهو يوفر منصة لتجربة العديد من الاستغلالات، مثل CSPT2CSRF (اجتياز المسار من جانب العميل إلى تزوير الطلبات عبر المواقع) وCSPT2XSS (اجتياز المسار من جانب العميل إلى البرمجة النصية عبر المواقع).
تم تنفيذ العديد من الأدوات والمصارف (gadgets and sinks) داخل هذا التطبيق لإظهار المخاطر والعواقب المحتملة لثغرة CSPT. لم يتم تغطية مصادر أخرى، مثل تخزين CSPT أو تأثيرات أخرى، بعد، مثل التلوث بالنموذج الأولي (prototype pollution) وDOM clobbering، وغيرها...
إذا كنت لا تزال جديدًا على CSPT، فتأكد من قراءة مقالنا على المدونة والورقة البيضاء.
أتمنى أن يعجبك، استغلالًا سعيدًا!
نقوم بتعبئة الواجهة الخلفية والواجهة الأمامية وقاعدة البيانات مع 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 بمساهمات المجتمع. سواء كنت مطوّرًا أو باحثًا أو مصممًا أو صياد ثغرات، فإن خبرتك لا تقدر بثمن بالنسبة لنا. نرحب بتقارير الأخطاء والملاحظات وطلبات السحب. مشاركتك تساعدنا في مواصلة تحسين التطبيق، مما يجعله أداة أقوى للمجتمع.
من الأفضل إجراء التفاعلات عبر متتبع مشكلات GitHub، ولكن يمكنك أيضًا التواصل معنا عبر وسائل التواصل الاجتماعي (@Doyensec). نحن نتطلع إلى سماع رأيك!
شكر خاص لمساهمينا. إن تفانيكم والتزامكم كان لهما دور فعال في جعل هذه الإضافة على ما هي عليه اليوم.
الحاليون:
تم إنشاء هذا المشروع بدعم من Doyensec.