تحديات الويب والتشفير
حل ألغاز الويب والتشفير الشائعة.
تحديات الويب والتشفير درس مجاني في Cyber Security Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cyber Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.
ركيزتان: Web وCrypto
يُعد Web وCrypto نقطتي الدخول الأكثر شيوعًا إلى CTF.
- تحديات Web تقدم لكم تطبيق ويب يعمل، وتطلب منكم العثور على خلل في طريقة تعامله مع المدخلات أو المصادقة أو الثقة.
- تحديات Crypto تقدم لكم نصًا مشفرًا ونظامًا تشفيريًا، وأحيانًا شيفرة مصدرية، وتطلب منكم استعادة النص الصريح أو مفتاح من خلال استغلال خلل في استخدام التشفير.
يكافئ كلا النوعين الملاحظة المنهجية. ويغطي هذا الدرس الألغاز المتكررة في كل منهما.
الخطوة الأولى عند اختبار هدف Web
قبل استغلال أي شيء، ارسموا خريطة للتطبيق. اعرضوا الشيفرة المصدرية، وافحصوا الاستجابات، واستكشفوا المحتوى المخفي.
# Inspect raw response headers and body
curl -i http://target/
# Look for hidden paths the UI does not link to
gobuster dir -u http://target/ -w wordlist.txt
# Common files worth checking by hand
# /robots.txt /.git/ /backup.zip /adminحقن SQL
يحدث حقن SQL عندما تُدمج مدخلات المستخدم في استعلام قاعدة البيانات من دون فصل بين الشيفرة والبيانات.
يمكن التلاعب بتسجيل دخول ينشئ استعلامًا مثل SELECT * FROM users WHERE name='INPUT' من خلال إدخال يغلق السلسلة النصية ويغير المنطق:
# A classic auth-bypass payload supplied as the username
' OR '1'='1' --
# UNION-based extraction once the column count is known
' UNION SELECT username, password FROM users -- الإصلاح الحقيقي للحقن
تعلّمكم CTF كيفية كسر الحقن حتى تتمكنوا من حمايته. والحماية الصحيحة هي الاستعلامات المعلّمة بالمعاملات (العبارات المجهزة)، التي تُبقي بيانات المستخدم خارج بنية الاستعلام بالكامل.
# Vulnerable: input becomes part of the SQL text
query = "SELECT * FROM users WHERE name='" + name + "'"
# Safe: input is bound as a parameter, never parsed as SQL
cursor.execute("SELECT * FROM users WHERE name = ?", (name,))البرمجة النصية عبر المواقع (XSS)
تحدث XSS عندما يعكس التطبيق مدخلات يتحكم فيها المهاجم أو يخزنها، ثم ينفذها المتصفح على شكل شيفرة نصية. وفي CTF، يتضمن تحدي XSS غالبًا روبوتًا يزور payload الخاص بكم بينما يحتفظ بالـflag في ملف تعريف ارتباط.
- المنعكسة — يُعاد payload الموجود في الطلب مباشرةً.
- المخزنة — يُحفظ payload ويُنفذ للزوار اللاحقين.
- المعتمدة على DOM — تكتب JavaScript من جانب العميل المدخلات في الصفحة بطريقة غير آمنة.
تتمثل الحماية في ترميز المخرجات مع مراعاة السياق، إلى جانب Content-Security-Policy. ويؤكد اختبار تجريبي مثل <script>alert(1)</script> ما إذا كانت المدخلات قد هُرّبت.
SSRF واجتياز المسارات
إليكم تقنيتين أساسيتين إضافيتين في Web:
- Server-Side Request Forgery (SSRF) — تخدعون الخادم ليجري طلبات نيابةً عنكم، غالبًا إلى عناوين لا يمكن الوصول إليها إلا داخليًا مثل
http://127.0.0.1أو إلى نقطة نهاية للبيانات الوصفية السحابية، للوصول إلى flag. - اجتياز المسارات — تخرجون من الدليل المقصود باستخدام تسلسلات مثل
../لقراءة ملفات خارج جذر الويب، مثل../../../../etc/passwd.
ينشأ كلا النوعين من الوثوق بمدخلات المستخدم لاختيار مورد. وتتمثل وسائل الحماية في قوائم سماح صارمة، وتوحيد المسارات ثم التحقق منها قبل استخدامها.
الترميز ليس تشفيرًا
أكثر الأخطاء شيوعًا لدى المبتدئين في التشفير هو الخلط بين الترميز والتشفير. فالترميز قابل للعكس من أي شخص ومن دون مفتاح، ولذلك لا يوفر أي سرية.
تعلّموا تمييز التنسيقات بمجرد النظر إليها:
- Base64 — أحرف وأرقام و
+ /، وغالبًا حشو باستخدام=. - Hex — لا يحتوي إلا على
0-9 a-f. - ROT13 / Caesar — بنية قابلة للقراءة مع إزاحة في الأحرف.
# Decode base64
echo 'ZmxhZ3toZWxsb30=' | base64 -d
# Decode hex
echo '666c6167' | xxd -r -pشفرات Caesar وXOR الكلاسيكية
تستخدم تحديات Crypto كثيرة شفرات تاريخية ضعيفة أو شفرات حديثة مطبقة بإهمال:
- Caesar / Vigenere — شفرات إزاحة يمكن كسرها بتحليل التكرار أو بتجربة الإزاحات الخمس والعشرين كلها.
- Single-byte XOR — تُجرى عملية XOR على الرسالة بأكملها باستخدام بايت واحد؛ جرّبوا المفاتيح الـ256 كلها واختاروا الناتج القابل للقراءة.
- Repeating-key XOR — يُكسر من خلال العثور على طول المفتاح، ثم حل كل بايت من بايتات المفتاح كما في XOR أحادي البايت.
والدرس هنا هو أن الشفرة المخصصة أو الكلاسيكية لا توفر أمانًا حقيقيًا أمام محلل.
مخاطر RSA
يكون RSA آمنًا فقط عندما تُختار معاملاته بشكل صحيح. وتحب تحديات Crypto أن تقدم لكم مثيلًا معطوبًا:
- معامل صغير — إذا كان
nصغيرًا بما يكفي، فحللوه إلى عوامله مباشرةً لاستعادة المفتاح الخاص. - أسّ صغير جدًا ومن دون حشو — عند استخدام
e=3مع رسالة قصيرة، قد يكون النص المشفر مكعبًا كاملًا يمكن استعادته بحساب الجذر التكعيبي الصحيح. - عوامل مشتركة — إذا اشترك مفتاحان عامان في عدد أولي، فإن القاسم المشترك الأكبر لمعامليهما يكشفه فورًا.
أما الحماية في العالم الحقيقي فتتمثل في استخدام مكتبة موثوقة ومراجعة، مع مفاتيح كبيرة وحشو مناسب (OAEP)، وعدم ابتكار خوارزمية تشفير خاصة بكم.
كسر قيم التجزئة
عندما يمنحك التحدي قيمة تجزئة لكلمة مرور، يكون الهدف هو استعادة الإدخال الأصلي. لا يمكنك عكس التجزئة، لكن يمكنك تخمين المدخلات ومقارنتها.
# Identify the hash type first
hashid 5f4dcc3b5aa765d61d8327deb882cf99
# Dictionary attack with hashcat (mode 0 = raw MD5)
hashcat -m 0 hash.txt rockyou.txt
# John the Ripper alternative
john --wordlist=rockyou.txt hash.txtسير عمل قابل للتكرار
اربط ذلك بحلقة متسقة تنطبق على كلتا الفئتين:
- راقب — اقرأ المطلوب، واعرض المصدر، وحدد الترميز أو المخطط المستخدم.
- ضع فرضية — حدد عائلة الثغرات المرجحة.
- اختبر على نطاق صغير — أرسل حمولة اختبار واحدة، وراقب الاستجابة الدقيقة.
- استغل — صعّد حمولة الاختبار الناجحة إلى حمولة كاملة تُنتج الـflag.
- وثّق — سجّل الحمولة ومنطقك في أثناء تذكّرهما جيدًا.
تُبقيك هذه الحلقة بعيدًا عن المسارات الجانبية، وتنتج تقرير حل تقريبًا دون جهد إضافي.
اختبار سريع
اختبر مدى استيعابك لأساسيات الويب والتشفير.
مراجعة
لقد غطّيت ألغاز الويب والتشفير المتكررة:
- الويب: ارسم الخريطة أولًا، ثم اختبر وجود حقن SQL وXSS وSSRF واجتياز المسارات — فجميعها تنبع من الثقة غير الآمنة بمدخلات المستخدم، ويُصلح كل منها بفصل التعليمات البرمجية عن البيانات.
- التشفير: ميّز بين الترميز والتشفير، واكسر الشفرات التقليدية وشفرات XOR الضعيفة، واستغل أخطاء معلمات RSA، واكسر قيم التجزئة باستخدام قوائم الكلمات.
- تعمل حلقة واحدة من المراقبة، ووضع الفرضية، والاختبار، والاستغلال، والتوثيق مع كلتا الفئتين.
بعد ذلك، ستنتقل إلى الهندسة العكسية واستغلال الملفات الثنائية.
تعلم Cyber Security Academy مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 76
- الدروس
- 303
الأسئلة الشائعة
هل درس «تحديات الويب والتشفير» مجاني؟
نعم — نص درس «تحديات الويب والتشفير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cyber Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.
ماذا ستتعلم في «تحديات الويب والتشفير»؟
حل ألغاز الويب والتشفير الشائعة. تتمرن على Cyber Security Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cyber Security Academy؟
لا تُشترط خبرة سابقة. Cyber Security Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «تحديات الويب والتشفير»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cyber Security Academy هذا؟
نعم. كل درس في Cyber Security Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- فئات مسابقات CTF وعقليتها
- تحديات الويب والتشفير
- أساسيات الهندسة العكسية واستغلال الثنائيات
- الأدوات وكتابة الحلول