Ana Sayfa / Laboratuvarlar / Hotel Sistemi Express Zafiyet Analizi & Mavi Takım Sınavı (Premium)
Mavi Takım (Secure Code Review & API Security) İleri Seviye (Premium VIP) ⏱️ 25 Dakika 🛡️ OWASP API Security Top 10 - BOLA, Mass Assignment, Broken Auth

Hotel Sistemi Express Zafiyet Analizi & Mavi Takım Sınavı (Premium)

Grand Horizon Oteli rezervasyon ve müdür yönetim API’sindeki BOLA/IDOR, Mass Assignment ve yetki aşımı zafiyetlerini Express kaynak kodunu okuyarak teşhis etme ve güvenli hale getirme simülasyonudur.

Laboratuvarı Tarayıcınızda Canlı Deneyin

Kurulumsuz, sanal hedef tarayıcı ve web terminali ile doğrudan zafiyeti istismar edin.

Laboratuvara Gir ⚡

Görev ve Zafiyet Senaryosu

Otel rezervasyon ve müşteri veri tabanında TC kimlik ve kart bilgileri şifresiz dönmekte, müşteri ID parametresi denetlenmeden IDOR açığı vermekte, rezervasyon nesneleri filtresiz ezilerek fiyat manipülasyonuna uğramakta ve müdür paneli sahte x-user-role başlığıyla ele geçirilmektedir.

Hedef (Objective)

🎯 Görev: API İstek Konsolu ile zafiyetli endpoint’leri test edin, Dr. Sentinel Tebeşir Tahtası ile mimari teoriyi öğrenin ve 10 soruluk kod okuma sınavından en az 7 doğru yaparak PASS sonucunu alın.

Adım Adım Çözüm Metodolojisi

1

Express Kod Okuma & PII Sızıntısı

Müşteri listeleme rotasında filtreleme eksikliğinden kaynaklanan veri sızıntısını ve BOLA/IDOR zaafiyetini kaynak kod üzerinden inceleyin.

2

Mass Assignment Fiyat Sıfırlama

Rezervasyon güncelleme rotasına filtresiz body yayılmasını istismar ederek konaklama tutarını 0 TL yapın.

3

Yetki Aşımı & Müdür Kasası

İstemci başlığı enjeksiyonuyla genel müdür kasasını açın ve RFID dijital master anahtar kodlarını geçersiz kılın.

4

Mavi Takım Kod Düzeltme & Sınav

Kodların güvenli karşılıklarını (DTO, Allowlist, JWT imzalama) inceleyip 10 soruluk değerlendirme sınavını tamamlayın.

Örnek Payload ve İstismar Kalıpları

GET /api/customers/2 (IDOR VIP Elif Demir)
PUT /api/reservations/101 {"totalPrice": 0, "status": "FREE_VIP"}
DELETE /api/reservations/101 (IDOR Silme: Kullanıcı Rezervasyonu Silinmiş)
GET /api/managers/dashboard [Header: x-user-role: manager]
POST /api/managers/verify-secret-hash {"candidateSecret": "..."}
POST /api/managers/override-room-key {"roomNumber": "701", "newMasterCode": "1337"}

Güvenli Kodlama ve Savunma Mekanizmaları

Zafiyet Nasıl Kapatılır?

  • Her nesne erişiminde oturum sahibinin (req.user.id) istenen kaynakla eşleştiğini sunucu tarafında kesin olarak doğrulayın (Ownership Check).
  • DELETE ve PUT rotalarında kaynak sahipliği denetlenerek yetkisiz rezervasyon silme ve değiştirme engellenmelidir.
  • SECRET_KEY ve yönetici kimlik sırları asla düz metin (plaintext) tutulmamalı, tuzlanmış (salted) SHA-256 veya argon2id ile hash'lenmelidir.
  • Mass Assignment engellemek için Zod veya Joi ile Allowlist / DTO şeması tanımlayarak yalnızca izin verilen alanları güncelleyin.
  • Kullanıcı rollerini istemci HTTP başlıklarına göre değil, kriptografik olarak imzalanmış JWT veya güvenli sunucu oturumlarından (Session) okuyun.
  • Müşteri verisi dönerken TC Kimlik ve Kredi Kartı gibi hassas kişisel verileri (PII) API çıktısından maskeleyin veya tamamen çıkarın.

Uygulamaya Başlamaya Hazır mısınız?

SiberAdam interaktif arenasında hedef tarayıcı, DevTools ve CyberTerminal ile bayrağı hemen yakalayın.

Şimdi Çözmeye Başla ⚡