מבצר ה-SQL
במהלך מבצע חדירה, חשפת ממשק שאילתות למאגר כוח אדם צבאי. המערכת מציגה רק רשומות ציבוריות, אבל אתה חושד שיש רשומות מסווגות חבויות. סינון הקלט נראה חלש. אולי אפשר לעקוף אותו?
⚠️ האתגר הזה דורש שימוש ב-DevTools (Network tab), curl, או כל HTTP client. הדגל לא נמצא בקוד הדף, הוא מגיע רק מהשרת.
לפני שמתחילים
התחל בקריאת ההקדמה והראיות. אפשר לשמור עותק של ראיות הטקסט להמשך עבודה. השתמש רק בנתוני התרגיל ובסביבה המיועדת באתר, ולא במערכות חיצוניות. את התשובה הסופית יש להזין במלואה בשדה הבדיקה.
עזרה בהכנה
- זהה איזה סוג נתונים מוצג בכל ראיה.
- עבוד על כל ראיה בנפרד ושמור את הממצאים.
- בדוק את פורמט התשובה לפני הגשה.
עבוד על עותק של הראיות ושמור את המקור ללא שינוי. תעד מה בדקת, ואל תסיק שהתרגיל הושלם רק מפני שהעמוד נפתח או שהשרת קיבל תשובה.
מפת השלבים
- שלב 1
גלו את ה-endpoint של השאילתות דרך response headers
- שלב 2
השתמשו ב-SQL Injection כדי לעקוף את הסינון
- שלב 3
פענחו את קוד הגישה מהרשומה המסווגת (Base64)
- שלב 4
השתמשו בקוד כדי לחדור ל-admin והרכיבו את הדגל
הגשת הדגל
ניסיונות: 0יש להגיש את הדגל המלא בפורמט flag{...}, כולל הסוגריים.
טיפים לפתרון
- פתחו את DevTools (F12) → Network tab לפני שאתם שולחים בקשות
- בדקו את ה-Response Headers של כל תשובה
- נסו לשנות את שאילתת ה-SQL כדי לעקוף את הסינון
- חפשו טכניקות SQL Injection קלאסיות: OR 1=1, UNION SELECT
- קוד הגישה המסווג מקודד ב-Base64. פענחו אותו!
- הדגל מורכב משני חלקים: גוף תשובה + response header