Görev ve Zafiyet Senaryosu
Savunma sanayii portalının arama fonksiyonu, URL query parametresi q üzerinden aldığı veriyi hiçbir HTML varlık kodlamasına (Entity Encoding) tabi tutmadan ekrana basmaktadır. Saldırgan, parametreye JavaScript kodu ekleyerek hedef kullanıcının tarayıcısında istediği kodu yürütebilir.
Hedef (Objective)
🎯 Görev: Arama kutusuna özel bir XSS yükü ( veya ) enjekte ederek tarayıcıda alert() penceresi fırlatın ve bayrağı ele geçirin.
Adım Adım Çözüm Metodolojisi
Girdi Yansıma Noktası Tespiti
Arama kutusuna test yazıp aratarak arama kelimesinin HTML DOM ağacında nereye düştüğünü DevTools ile gözlemleyin.
JavaScript Yükü Enjeksiyonu
veya yükünü göndererek tarayıcının betiği çalıştırmasını sağlayın.
Zafiyet Doğrulaması & Bayrak
Alert penceresi tetiklendiğinde platform zafiyeti teyit eder ve üst bildirim çubuğunda gizli bayrak (FLAG) açığa çıkar.
Örnek Payload ve İstismar Kalıpları
<script>alert(1)</script><img src=x onerror=alert(1)><svg onload=alert(document.domain)>"><script>alert("PWNED")</script>
Güvenli Kodlama ve Savunma Mekanizmaları
Zafiyet Nasıl Kapatılır?
- HTML Varlık Kodlaması (HTML Entity Encoding) kullanarak <, >, ", ' karakterlerini zararsız hale getirin.
- Katı bir İçerik Güvenlik Politikası (Content Security Policy - CSP) tanımlayarak inline script çalıştırmayı engelleyin.
- Modern şablon motorlarının otomatik context-aware encoding mekanizmalarından yararlanı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 ⚡