ווב ו-APIקשה

מבצר ה-SQL

במהלך מבצע חדירה, חשפת ממשק שאילתות למאגר כוח אדם צבאי. המערכת מציגה רק רשומות ציבוריות, אבל אתה חושד שיש רשומות מסווגות חבויות. סינון הקלט נראה חלש. אולי אפשר לעקוף אותו?

⚠️ האתגר הזה דורש שימוש ב-DevTools (Network tab), curl, או כל HTTP client. הדגל לא נמצא בקוד הדף, הוא מגיע רק מהשרת.

המשימה
נצל SQL Injection כדי לחשוף את הרשומה המסווגת, פענח את קוד הגישה, וחדור לממשק הניהול.
00:00 ניסיונות:0
קשה

לפני שמתחילים

התחל בקריאת ההקדמה והראיות. אפשר לשמור עותק של ראיות הטקסט להמשך עבודה. השתמש רק בנתוני התרגיל ובסביבה המיועדת באתר, ולא במערכות חיצוניות. את התשובה הסופית יש להזין במלואה בשדה הבדיקה.

עזרה בהכנה
  1. זהה איזה סוג נתונים מוצג בכל ראיה.
  2. עבוד על כל ראיה בנפרד ושמור את הממצאים.
  3. בדוק את פורמט התשובה לפני הגשה.

עבוד על עותק של הראיות ושמור את המקור ללא שינוי. תעד מה בדקת, ואל תסיק שהתרגיל הושלם רק מפני שהעמוד נפתח או שהשרת קיבל תשובה.

fortress-db-terminal
> FORTRESS-DB Terminal v3.2.1
> Military Personnel Database Interface
> Type a SQL query or click "Probe Status" to begin.
> Tip: Open DevTools (F12) → Network tab. Watch the response headers.

מפת השלבים

  1. שלב 1

    גלו את ה-endpoint של השאילתות דרך response headers

  2. שלב 2

    השתמשו ב-SQL Injection כדי לעקוף את הסינון

  3. שלב 3

    פענחו את קוד הגישה מהרשומה המסווגת (Base64)

  4. שלב 4

    השתמשו בקוד כדי לחדור ל-admin והרכיבו את הדגל

הגשת הדגל

ניסיונות: 0
הדגל מורכב משני חלקים: גוף תשובה + response header

יש להגיש את הדגל המלא בפורמט flag{...}, כולל הסוגריים.

טיפים לפתרון

  • פתחו את DevTools (F12) → Network tab לפני שאתם שולחים בקשות
  • בדקו את ה-Response Headers של כל תשובה
  • נסו לשנות את שאילתת ה-SQL כדי לעקוף את הסינון
  • חפשו טכניקות SQL Injection קלאסיות: OR 1=1, UNION SELECT
  • קוד הגישה המסווג מקודד ב-Base64. פענחו אותו!
  • הדגל מורכב משני חלקים: גוף תשובה + response header

אתגרים נוספים

לכל האתגרים ←