File size: 1,029 Bytes
80a4a65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
  "team_role": "blue",
  "language": "PYTHON",
  "module": "code-fixing",
  "title": "إصلاح ثغرة SQL Injection في دالة login()",
  "story": "اكتشف فريق الأمن في CloudWave ثغرة SQL Injection في كود تسجيل الدخول. مهمتك إغلاقها.",
  "task_outline": "استبدل استعلام SQL المعرّض للخطر بـ parameterized query.",
  "vulnerable_code": "def login(username, password):\n    query = f\"SELECT * FROM users WHERE name='{username}' AND pass='{password}'\"\n    return db.execute(query)\n",
  "vulnerability_type": "sql-injection",
  "vulnerability_description": "استخدام f-string لبناء استعلام SQL مباشرة بدون أي تصفية.",
  "hints": [
    "استخدم ? placeholders في sqlite3.",
    "الفرق بين execute(query) و execute(query, params).",
    "الحل الآمن: db.execute('SELECT * FROM users WHERE name=? AND pass=?', (username, password))"
  ],
  "difficulty": "متوسط",
  "xp_reward": 150
}