عن اللاب
الدرس: Client-Side Validation مش حماية
الموقع بيعرض رسالة تخويف “I’ll shut down your PC if you play that” لما تحاول تلعب النقلة الفايزة — بس دي مجرد دالة JavaScript اسمها
preMoveCheck شغالة في متصفحك. أي فحص بيحصل في الـ frontend ممكن تتجاوزه، لأن المتصفح ملكك أنت مش ملك السيرفر.
Fools Mate لاب Web Exploitation بسيط وذكي. الرقعة معروضة بوضع أبيض يلعب وعنده كش ملك في نقلة واحدة (a1 → a8). الحل مش شطرنج، الحل إنك تفهم إن الفحص الحقيقي لازم يحصل في السيرفر.
لو دخلت من الواجهة، هتتمنع من أي نقلة بتؤدي لكش ملك مباشر. الحل: كلم الـ API اللي وراها مباشرة.
مسار الحل
1
Recon
فحص بسيط — بورتين: 22 (SSH) و80 (HTTP)
nmap -sC -sV IP
2
جرّب النقلة الفايزة
حاول تحرك الرخ من a1 لـ a8 — هتظهرلك رسالة تحذير وتترفض النقلة
3
افحص الكود
افتح DevTools (F12) — هتلاقي دالة preMoveCheck بترفض أي نقلة بتؤدي لكش ملك مباشر
4
كلم الـ API مباشرة
سجّل شكل الـ request اللي بيتبعت لما تحرك أي قطعة، وابعته يدوياً بالنقلة الفايزة مباشرة
POST /api/move
مرجع الأوامر
| الأمر / الخطوة | الوصف |
|---|---|
| nmap -sC -sV <IP> | اكتشاف port 22 و80 |
| F12 → Sources | قراءة كود preMoveCheck |
| curl -X POST http://IP/api/move -d ‘{“from”:”a1″,”to”:”a8″}’ | إرسال النقلة الفايزة مباشرة للـ API |
المهارات اللي هتكتسبها
Client vs Server Trust
Browser DevTools
HTTP Request Tampering
API Testing