Fools Mate | STY IT Labs
STY IT Labs · TryHackMe · Easy

Fools Mate

“It’s mate in one. You know it, the engine knows it, my grandma knows it.” رقعة شطرنج جاهزة لكش ملك في نقلة واحدة — بس التطبيق بيرفض ينفذها. الحل مش في الشطرنج، الحل في إنك متثقش في أي فحص بيحصل في المتصفح بس.

Easy 15 – 30 دقيقة سؤال واحد Linux

عن اللاب

الدرس: 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