
يعرض لك هذا المستودع بعض المعلومات حول هذه الثغرة، والتي تم اكتشافها بواسطتي.
يعرض هذا المستودع بعض المعلومات حول هذه الثغرة الأمنية، والتي اكتشفتها بنفسي.
إليك الوصف الرسمي المُقدَّم:
قالب archive-tainacan-collection لـ WordPress معرّض لثغرة Reflected Cross-Site Scripting بسبب استخدام add_query_arg دون ترميز (escaping) مناسب على عنوان URL في الإصدار 2.7.2. وهذا يتيح للمهاجمين غير المصادَق عليهم حقن نصوص برمجية تعسفية في الصفحات التي يتم تنفيذها إذا نجحوا في خداع مستخدم لتنفيذ إجراء مثل النقر على رابط.
إذن، بشكل أساسي، يمكن استغلال هذه الثغرة عبر إرسال روابط خبيثة. المشكلة هي أنه عند تحميل الصفحة، إذا تم إرسال معلمة إضافية إلى الخادم، فسيتم كتابة المحتوى الإضافي على صفحة الويب.
الـ endpoint المعرّض هو /collections/. لذا، إذا أرسلت هذا الـ payload في طلب GET، فقد تظهر لك نافذة منبثقة لتنبيه XSS: /collections/?teste.com/%3E%3Cscript%3Ealert(%27XSS%20CAIS%27)%3C/script%3E
لذا، إذا كان تطبيق الويب يعمل على https://souvulneravel.com، فسيكون هذا الرابط مثاليًا للاصطياد: https://souvulneravel.com/collections/?teste.com/%3E%3Cscript%3Ealert(%27XSS%20CAIS%27)%3C/script%3E
عند الاختبار، أدركت أن التطبيق يقوم ببعض عمليات استبدال السلاسل النصية. حيث يتم استبدال المسافات وبعض الأحرف الأخرى بالرمز '_'. لذا، للاستغلال الكامل، من الضروري استخدام دوال جافاسكربت إضافية لتجاوز مشكلة استبدال السلاسل هذه. ليس لدي وقت الآن لشرح المزيد، ولكن استخدم شيئًا مثل atob، وما إلى ذلك.