| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| SGM223 | WEB AND APPLICATION SECURITY | Seçmeli Ders Grubu | 2 | 3 | 5,00 |
Önlisans
İngilizce
Bu dersin amacı; öğrencilere modern web uygulamalarının güvenliğini hem saldırı (offense) hem savunma (defense) bakışıyla uygulamalı olarak kazandırmaktır. Ders; web/uygulama mimarisi ve tarayıcı güvenlik modelinden başlayarak keşif (recon), OWASP Top 10 sınıfı zafiyetlerin (XSS, CSRF, injection, XXE, IDOR/mass assignment, iş mantığı ve istemci-taraflı saldırılar) tespiti ve sömürülmesini; ardından güvenli yazılım geliştirme yaşam döngüsü, tehdit modelleme, güvenli yapılandırma (CSP, CORS, güvenlik başlıkları, TLS), güvenli kod inceleme ve statik/dinamik güvenlik testini ele alır. Böylece öğrenci bir web uygulamasındaki zafiyetleri hem bulabilir hem de giderebilir. Tüm uygulamalar izinli ve izole bir laboratuvar ortamında, kasıtlı-zafiyetli uygulamalar ve PortSwigger Web Security Academy üzerinde, etik ve yasal çerçevede yürütülür.
Öğr. Gör. Yudum Özkan
| 1 | Web uygulama mimarisini ve HTTP(S) temellerini açıklayarak, web tehditlerini sınıflandırabilme. |
| 2 | Web uygulamalarında keşif süreçlerini yürütebilme ve proxy ile ağ trafiğini analiz edip manipüle edebilme |
| 3 | Kritik web zafiyetlerini laboratuvar ortamında tespit edip sömürebilme. / |
| 4 | Web uygulamalarına yönelik temel savunma mekanizmalarını ve güvenli kodlama prensiplerini uygulayabilme. |
| 5 | Tespit edilen zafiyetleri risk seviyelerine (CVSS) göre derecelendirerek etik ilkelere uygun formatta raporlayabilme. |
Birinci Öğretim
Yoktur
Yoktur
Web/uygulama güvenliğine giriş ve yazılım güvenliğinin gelişimi; modern web uygulama mimarisi (REST, SPA, GraphQL, kimlik doğrulama/yetkilendirme); tarayıcı güvenlik modeli ve aynı-köken politikası; keşif (bilgi toplama, uygulama haritalama, subdomain, API analizi, üçüncü-parti bağımlılıklar); XSS, CSRF, XXE, enjeksiyon (SQLi/komut), veri ve nesne saldırıları (mass assignment, IDOR, serileştirme), istemci-taraflı saldırılar (prototype pollution, clickjacking, tabnabbing), iş mantığı zafiyetleri; güvenli yazılım geliştirme yaşam döngüsü ve tehdit modelleme (STRIDE); güvenli uygulama mimarisi (TLS, kimlik bilgisi/hash, MFA, Zero Trust) ve güvenli yapılandırma (CSP, CORS, güvenlik başlıkları, çerezler, sandboxing); güvenli kod inceleme; zafiyet keşfi ve yönetimi (SAST/DAST, bug bounty, CVSS); saldırılara karşı savunma ve raporlama. Uygulamalar izinli, izole laboratuvarda kasıtlı-zafiyetli uygulamalar ve PortSwigger Web Security Academy üzerinde yürütülür.
| Hafta | Konular (Teorik) | Uygulama | Öğretim Yöntem ve Teknikleri | Ön Hazırlık |
|---|---|---|---|---|
| 1 | Web ve uygulama güvenliğine giriş; yazılım güvenliğinin gelişimi; modern web uygulama mimarisi (REST, SPA, kimlik doğrulama/yetkilendirme). | İzinli, izole laboratuvar ve araçların kurulumu, seçilen kasıtlı-zafiyetli uygulama | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 1 (s. 1–17) ve Böl. 3 (s. 27–56). |
| 2 | Keşif (recon): bilgi toplama, uygulama haritalama, subdomain keşfi, API analizi ve üçüncü-parti bağımlılıkların belirlenmesi. | Hedef (zafiyetli) uygulamada recon: subdomain, endpoint ve teknoloji/bağımlılık tespiti. | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 2 (s. 21–25), Böl. 4 (s. 57–78), Böl. 5 (s. 79–86), Böl. 6 (s. 87–97). |
| 3 | Uygulama mimarisinde zayıf noktalar ve saldırgan zihniyeti; tarayıcı güvenlik modeli ve aynı-köken politikası (SOP). | Trafik yakalama ve manipülasyon (proxy / repeater / intruder). | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 7 (s. 99–107) ve Böl. 9 (s. 113–115); PortSwigger Academy — “Getting started”. |
| 4 | Siteler arası betik çalıştırma (XSS): yansıyan, depolanan ve DOM tabanlı XSS; filtre atlatma. | PortSwigger XSS laboratuvarları ve OWASP Juice Shop üzerinde XSS tespiti/sömürüsü. | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 10 (s. 117–134); PortSwigger Academy — XSS labs. |
| 5 | Siteler arası istek sahteciliği (CSRF) ve XML dış varlık (XXE) saldırıları. | CSRF ve XXE laboratuvarları; token atlatma ve dosya okuma senaryoları. | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 11 (s. 135–146) ve Böl. 12 (s. 147–157); PortSwigger Academy — CSRF, XXE labs. |
| 6 | Enjeksiyon (injection): SQL enjeksiyonu, komut ve kod enjeksiyonu; veri sızdırma teknikleri. | SQL enjeksiyonu laboratuvarları ve sqlmap ile otomasyon. | Anlatım, Gösterme, Uygulama (Pratik), Kısa Sınav (Quiz) | Hoffman, Böl. 13 (s. 159–174); PortSwigger Academy — SQL injection labs. |
| 7 | Veri ve nesnelere saldırı IDOR ve iş mantığı zafiyetleri. | IDOR laboratuvarları. | Anlatım, Uygulama (Pratik), Örnek Vaka İncelemesi | Hoffman, Böl. 15 (s. 187–192) ve Böl. 18 (s. 217–226); PortSwigger Academy — access control & business logic labs. |
| 8 | ARA SINAV | ARA SINAV | (1.–7. hafta konuları) | |
| 9 | İstemci-taraflı saldırılar (Clickjacking, güvensiz yönlendirmeler) ve üçüncü-parti bağımlılıkların sömürülmesi. | İstemci-taraflı saldırı laboratuvarları ve bağımlılık/CVE incelemesi. | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 16 (s. 193–204) ve Böl. 17 (s. 205–216). |
| 10 | Savunmaya giriş: güvenli yazılım mimarisi, kapsamlı güvenlik odaklı kod inceleme ve zafiyet yönetimi. | Örnek uygulama kodu üzerinde güvenlik odaklı kod inceleme (code review). | Anlatım, Uygulama (Pratik), Problem Çözümü, Kısa Sınav (Quiz) | Hoffman, Böl. 20 (s. 231–236) ve Böl. 25 (s. 289–298). |
| 11 | Güvenli uygulama mimarisi: SSL/TLS, kimlik bilgisi güvenliği ve hash’leme, çok faktörlü kimlik doğrulama (MFA), Zero Trust. | Kimlik doğrulama/oturum sertleştirme ve güvenli parola saklama uygulaması. | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 21 (s. 237–249). |
| 12 | Güvenli yapılandırma: içerik güvenliği politikası (CSP), CORS, güvenlik başlıkları, çerez güvenliği ve sandboxing (iframe/SRI). | CSP ve güvenlik başlıklarının yapılandırılması ve test edilmesi. | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 22 (s. 251–267). |
| 13 | Uygulamalarda risk analizi ve güvenli kullanıcı deneyimi: bilgi ifşaları (Information Disclosure) ve numaralandırma (enumeration) | Bir uygulama için tehdit modeli çıkarma. risk analizi yapılması (Ara güvenlik raporu-1 teslimi) | Anlatım, Uygulama (Pratik), Rapor Hazırlama | Hoffman, Böl. 24 (s. 277–286) ve Böl. 23 (s. 269–275). |
| 14 | Zafiyet keşfi ve yönetimi: güvenlik otomasyonu (SAST/DAST), bug bounty ve sorumlu ifşa, CVSS ile önceliklendirme. | Semgrep (SAST) + OWASP ZAP (DAST) çalıştırma ve bulguların CVSS ile skorlanması. | Anlatım, Gösterme, Uygulama (Pratik) | Hoffman, Böl. 26 (s. 299–307) ve Böl. 27 (s. 309–317). |
| 15 | Saldırılara karşı derinlemesine savunma (XSS/CSRF/injection/IDOR) ve bütünleşik değerlendirme: saldırı → savunma → raporlama. | Bütünleşik mini pentest: zafiyet bulma, düzeltme (fix) önerme, rapor ve sunum. (Dönem sonu değerlendirme teslimi/sunumu) | Uygulama (Pratik), Rapor Sunma, Sunum, Tartışma | Hoffman, Böl. 28–31 (s. 319–350) ve Böl. 33 (s. 359–361). |
| 16 | YARIYIL SONU SINAVI (FİNAL) | YARIYIL SONU SINAVI (FİNAL) | Tüm Konular |
Hoffman, A. (2024). Web Application Security, 2. baskı, O’Reilly. PortSwigger Web Security Academy (portswigger.net/web-security). Stuttard, D. & Pinto, M. (2011). The Web Application Hacker’s Handbook, 2. baskı, Wiley. OWASP Top 10, OWASP WSTG, OWASP ASVS ve Cheat Sheet Series — önerilen. OWASP kasıtlı-zafiyetli uygulama dizini GitHub derlenmiş listeleri: qazbnm456/awesome-web-security, infoslack/awesome-web-hacking; API güvenliği: OWASP crAPI, VAmPI. Çevrimiçi pratik/CTF platformları: PortSwigger Academy, TryHackMe, Hack The Box, Root Me. Araçlar: Burp Suite, OWASP ZAP, sqlmap, Semgrep. Öğretim elemanı ders notları ve güvenlik değerlendirme raporu şablonu (EgeDers).
Ara Sınav · Ara Sınav İçin Bireysel Çalışma · Bireysel Çalışma · Derse Katılım · Gösterme · Kısa Sınav (Quiz) · Örnek Vaka İncelemesi · Problem Çözümü · Proje / CTF · Rapor Hazırlama · Soru-Yanıt · Tartışma · Uygulama (Pratik) · Final Sınavı · Final Sınavı için Bireysel Çalışma · Rapor Sunma
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 70 |
| Proje Hazırlama | 1 | 10 |
| Ev Ödevi | 3 | 20 |
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
| Final Sınavı | 1 | 80 |
| Proje Sunma | 1 | 20 |
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 50 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 50 | |
Yoktur
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 14 | 3 | 42 |
| Uygulama/Pratik | 14 | 2 | 28 |
| Proje Hazırlama | 2 | 8 | 16 |
| Proje Sunma | 2 | 1 | 2 |
| Bireysel Çalışma | 14 | 2 | 28 |
| Ara Sınav İçin Bireysel Çalışma | 1 | 6 | 6 |
| Final Sınavı içiin Bireysel Çalışma | 1 | 8 | 8 |
| Ev Ödevi | 3 | 6 | 18 |
| Toplam İş Yükü (saat) | 150 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 | PÇ 13 | PÇ 14 | PÇ 15 | |
| ÖÇ 1 | 3 | ||||||||||||||
| ÖÇ 2 | 4 | ||||||||||||||
| ÖÇ 3 | 5 | 5 | |||||||||||||
| ÖÇ 4 | 4 | 4 | |||||||||||||
| ÖÇ 5 | 5 | 3 | 3 |