Web uygulama güvenliği
48 kurs, 759 ders. Tarayıcıda gerçek Kali Linux labı.
- Web ve tarayıcı güvenlik modeli: HTTP, köken, çerez, CORS ve CSP (Seviye 101, 20 ders): Bir web isteğini satır satır okur, tarayıcının kökenleri birbirinden nasıl ayırdığını, çerezlerin ve CORS ile CSP’nin neyi koruduğunu kendi lab uygulamanda görürsün.
- Web açıklarının temelleri (OWASP) (Seviye 101, 20 ders): OWASP’ın öne çıkardığı açık türleri ve nedenleri.
- Burp Suite’e giriş (Seviye 101, 15 ders): Burp Suite Community’yi kurar, tarayıcı trafiğini araya alır, istekleri tekrarlar ve çözümlersin; hepsi kendi lab uygulamanda.
- Web CTF’ine ilk adım (Seviye 101, 15 ders): Tek açıklı küçük web bulmacalarında bayrak ararken keşif, istek değiştirme ve kanıt toplama alışkanlıklarını kazanır, her bayrak için bir düzeltme önerisi yazarsın.
- ffuf ve vekil sunucularla web yüzeyi denetimi (Seviye 201, 21 ders): Kendi uygulamanın dış yüzeyini görmek, sızan bilgileri ve açıkta kalanları kapatmak.
- Enjeksiyon açıkları (SQL, komut) ve kapatılması (Seviye 201, 18 ders): Komut ve SQL enjeksiyonunun nedeni, günlükte izi ve kalıcı düzeltmesi.
- Burp Suite derinlemesine: Intruder, oturum kuralları ve eklentiler (Seviye 201, 16 ders): Intruder’ın saldırı türlerini, oturum işleme kurallarını, makroları ve eklentileri kullanarak çok rollü bir lab uygulamasında erişim denetimini sistemli biçimde sınarsın.
- ZAP ile uygulama taraması ve otomasyon (Seviye 201, 16 ders): Açık kaynak ZAP ile kendi uygulamanı el ile ve otomatik tarar, kimlik doğrulamalı taramayı kurar, yanlış pozitifleri ayıklar ve taramayı CI hattına taşırsın.
- Kimlik doğrulama güvenliği: parola, MFA ve giriş akışları (Seviye 201, 17 ders): Parolaların nasıl saklanması gerektiğini, giriş akışındaki ifşa ve kaba kuvvet risklerini ve MFA ile geçiş anahtarlarının doğru kurulumunu kodda ve Burp’te uygularsın.
- Oturum yönetimi: belirteçten çıkışa (Seviye 201, 15 ders): Oturum belirtecinin üretilmesinden çıkışa kadar her adımı inceler; sabitleme, zaman aşımı ve iptal hatalarını Burp ile tanıyıp kodda düzeltirsin.
- Erişim denetimi: IDOR ve yetki kontrolleri (Seviye 201, 16 ders): Yetki kontrolünün kodda nerede unutulduğunu, IDOR ve yetki aşımını iki hesapla nasıl tanıyacağını ve merkezi bir politika katmanıyla nasıl kalıcı olarak kapatacağını öğrenirsin.
- Siteler arası betik çalıştırma (XSS): yansıyan, saklanan ve DOM (Seviye 201, 17 ders): Verinin HTML’e kod olarak karıştığı yerleri kodda bulur, üç XSS türünü lab uygulamasında tanır, bağlama uygun kodlama ve temizleme ile kapatır ve yeniden test edersin.
- CSRF, SameSite ve tıklama korsanlığı (Seviye 201, 15 ders): Tarayıcının çerezi kendiliğinden göndermesinin neden olduğu istek sahteciliğini ve görünmez çerçeve hilesini kendi uygulamanda tanır, belirteç, SameSite ve çerçeve kurallarıyla kapatırsın.
- Dosya yükleme ve yol geçişi açıkları (Seviye 201, 15 ders): Kullanıcı girdisinden dosya yolu kuran ve yüklenen dosyaya güvenen kodu bulur, zayıf kontrolleri Burp ile sınar, güvenli depolama ve kanonik yol kontrolüyle kapatırsın.
- REST API güvenliğinin temelleri (Seviye 201, 15 ders): Bir REST API’nin uç noktalarını ve OpenAPI tanımını okur, nesne düzeyinde yetkilendirme ve fazla veri ifşası gibi temel hataları Burp ile tanır, kodda düzeltir ve ağ geçidi günlüklerinde izlersin.
- Web uygulamaları için güvenlik başlıkları ve TLS (Seviye 201, 15 ders): Tarayıcıya güvenlik kurallarını bildiren başlıkları yazar, TLS sürümlerini, şifre takımlarını ve sertifika zincirini doğru kurar, sonucu araçlarla ölçüp sürekli izlersin.
- nginx ve Apache ile web sunucusu sertleştirme (Seviye 201, 17 ders): Uygulamanın önündeki web sunucusunun sızdırdığı bilgileri kapatır, nginx ve Apache yapılandırmasındaki tipik tuzakları düzeltir ve sertleştirmeyi kod olarak yönetip testlerle doğrularsın.
- Web güvenliği bulgularını raporlamak (Seviye 201, 15 ders): Bir bulguyu tekrar edilebilir adımlar, kanıt ve uygulanabilir düzeltmeyle yazar, CVSS ile önemini gerekçelendirir, yönetici özeti ve yeniden test raporu hazırlarsın.
- Sunucu tarafı açıklar: SSRF, XXE, JWT ve savunma (Seviye 301, 15 ders): SSRF, XXE, JWT hataları ve dosya yükleme güvenliği: nasıl olur, nasıl kapatılır.
- İstemci tarafı açıklar: XSS, IDOR ve kimlik doğrulama savunması (Seviye 301, 17 ders): XSS, oturum ve erişim denetimi hataları ve düzeltmeleri.
- SQL enjeksiyonu derinlemesine (Seviye 301, 18 ders): Farklı dillerde ve ORM’lerde güvensiz sorgu kalıplarını bulur, kör ve ikinci derece enjeksiyonu kendi uygulamanda doğrular, kalıcı düzeltmeyi kod standardı, veritabanı ayarları ve CI kurallarıyla sağlarsın.
- SQL dışındaki enjeksiyonlar: komut, şablon, NoSQL, LDAP ve başlık (Seviye 301, 18 ders): İşletim sistemi komutu, şablon motoru, NoSQL, LDAP ve HTTP başlıklarında verinin koda karıştığı yerleri tanır; her biri için güvenli API’yi, düzeltmeyi ve tespit kuralını uygularsın.
- XSS ve CSP derinlemesine (Seviye 301, 15 ders): Zor çıktı bağlamlarında, çerçevelerde ve zengin metinde XSS’i tanır; nonce tabanlı sıkı CSP, Trusted Types ve doğru yapılandırılmış temizleyicilerle tek sayfalı bir uygulamayı korursun.
- Sunucu taraflı istek sahteciliği (SSRF) derinlemesine (Seviye 301, 15 ders): URL alan özelliklerin sunucuyu iç ağa nasıl açtığını görür, engel listelerinin neden yetmediğini lab’da gösterir, izin listesi, çıkış vekil sunucusu ve üst veri korumasıyla kalıcı savunma kurarsın.
- XXE ve güvensiz serileştirme: ayrıştırıcıya körü körüne güvenmemek (Seviye 301, 17 ders): XML varlıklarının ve nesne serileştirmenin nasıl açığa dönüştüğünü kodda ve trafikte tanır, ayrıştırıcıları dil dil güvenli yapılandırır, güvenli veri biçimlerine geçer ve saldırı izlerini günlükte arayıp bulursun.
- OAuth 2.0, OpenID Connect ve JWT güvenliği (Seviye 301, 18 ders): Yetkilendirme kodu akışını, PKCE’yi ve kimlik belirtecini adım adım izler; redirect_uri, state ve JWT doğrulama hatalarını lab’daki tek oturum açma kurulumunda bulur, düzeltir ve yeniden test edersin.
- İş mantığı açıkları (Seviye 301, 15 ders): Tarayıcıların bulamadığı, geliştiricinin varsayımlarından doğan açıkları iş akışını haritalayarak bulur; sunucu tarafı durum makinesi, kötüye kullanım testleri ve iş metrikleriyle kapatıp izlersin.
- OWASP API Güvenliği İlk 10 sınıfları (Seviye 301, 15 ders): OWASP API Güvenliği İlk 10 listesindeki her sınıfı bir mobil uygulama arka ucunda kodda, trafikte ve günlükte tanır; düzeltir ve sürüm ile envanter yönetimini düzene sokarsın.
- GraphQL güvenliği (Seviye 301, 16 ders): GraphQL şemasını ve çözücülerini inceler; yetkilendirme eksikliği, toplu sorgu ve derin sorgu kaynaklı açıkları tanır, sorgu sınırları ve kalıcı sorgularla API’yi sertleştirirsin.
- İstemci tarafı güvenlik: tarayıcıda çalışan kod (Seviye 301, 15 ders): Kökenler arası iletişim, JavaScript’e özgü açıklar ve üçüncü taraf betikler yüzünden tarayıcıda doğan riskleri tanır; CORS, postMessage, prototip kirliliği ve SRI hatalarını kodda kapatırsın.
- Burp Suite ileri düzey: otomasyon ve eklenti geliştirme (Seviye 301, 15 ders): Burp tarayıcısını ve Collaborator’ı kendi lab’ında yapılandırır, Bambda ve BCheck yazar, Montoya API ile ekibinin işine yarayacak bir eklenti geliştirirsin.
- Web saldırılarını günlüklerden tespit etmek (Seviye 301, 16 ders): Uygulamana doğru güvenlik olaylarını yazdırır, tarama, enjeksiyon ve kimlik saldırılarının günlükteki izlerini okur, Sigma ve SIEM kuralları yazıp saldırıyı lab’da tekrar oynatarak tespiti test edersin.
- WAF kuralı yazmak ve ayarlamak: ModSecurity ve OWASP CRS (Seviye 301, 18 ders): Kendi uygulamanın önüne bir web uygulama güvenlik duvarı kurar, OWASP CRS’yi yanlış pozitifleri ayıklayarak ayarlar, sanal yama ve hız sınırı kuralları yazar, kuralları testlerle doğrulayıp engelleme moduna güvenle geçersin.
- Güvenli kod incelemesinin temelleri (Seviye 301, 16 ders): Veriyi kaynaktan tehlikeli çağrıya kadar izleyerek kod incelersin; kimlik, yetki, kriptografi, hata işleme ve bağımlılıkları kontrol listeleriyle gözden geçirir, Semgrep ve CodeQL ile incelemeyi hızlandırırsın.
- Web uygulamaları için tehdit modelleme (Seviye 301, 15 ders): Bir web uygulamasının veri akış diyagramını çizer, STRIDE ve saldırı ağaçlarıyla tehditleri bulur, önlemleri doğrulama testlerine bağlar ve tehdit modellemeyi ekibin olağan işine dönüştürürsün.
- Hata ödül programları ve sorumlu bildirim (Seviye 301, 15 ders): Hata ödül programlarının ve açık bildirim politikalarının kurallarını, ülkeler arasındaki yasal farkları ve etik sınırları öğrenir; kurgusal bir programda yöntemli çalışıp bildirim yazar, kurum tarafında da bildirim sürecini kurarsın.
- Uygulamalı değerlendirme: Lunarbay Market (e-ticaret) (Seviye 301, 15 ders): Kurgusal Lunarbay Market’in lab’daki uygulamasını izin belgesiyle, plandan rapora kadar değerlendirir, geliştiricilerle düzeltir, tespit kuralı yazar ve yeniden test edersin.
- Web CTF arenası (Seviye 301, 15 ders): Sunucu tarafı, istemci tarafı ve kimlik açıklarını içeren orta düzey bulmacalarda bayrak toplar, küçük açıkları zincirler ve her çözüm için bir düzeltme notu yazarsın.
- SAML ve kurumsal tek oturum açma güvenliği (Seviye 401, 14 ders): SAML akışlarını ve onay belgesini çözer, imza sarma, imzasız onay ve tekrar oynatma gibi doğrulama eksiklerini hizmet sağlayıcıda bulup kapatır, hesap açma-kapama ve SSO olaylarını izlemeyi kurarsın.
- Yarış durumları ve eşzamanlılık açıkları (Seviye 401, 14 ders): Kontrol ile kullanım arasındaki zaman aralığından doğan açıkları kodda bulur, eşzamanlı isteklerle kendi lab’ında kanıtlar, veritabanı işlemleri, atomik işlemler ve idempotens anahtarlarıyla kapatıp yük altında yeniden test edersin.
- HTTP protokol düzeyi açıklar: istek kaçakçılığı ve önbellek zehirlenmesi (Seviye 401, 14 ders): Ön uç ile arka ucun bir isteği farklı okumasından ve önbellek kurallarından doğan açıkları kendi CDN-vekil-uygulama zincirinde güvenle tanır, protokol ve önbellek ayarlarıyla kapatır, anomalileri günlükte izlersin.
- Dile göre güvenli kod incelemesi: PHP, Python ve JavaScript (Seviye 401, 16 ders): PHP, Python ve Node.js’e özgü tehlikeli kalıpları ve popüler çerçevelerin tuzaklarını tanır, her dilde açıkları bulup çekme isteğiyle düzeltir, bu dillere özel Semgrep kuralları yazarsın.
- Dile göre güvenli kod incelemesi: Java, C# ve Go (Seviye 401, 15 ders): Java, C# ve Go’ya özgü tehlikeli kalıpları, Spring, ASP.NET Core ve Go HTTP katmanlarının yapılandırma hatalarını tanır, açıkları kodda düzeltir ve bu diller için CodeQL sorguları yazarsın.
- Uygulamalı değerlendirme: Corvane Clinic (hasta portalı ve API) (Seviye 401, 13 ders): Kurgusal Corvane Clinic’in hasta portalını, OIDC girişini, REST ve GraphQL API’lerini risk odaklı bir planla değerlendirir, kritik bulguyu acil bildirir, düzeltme planını ve kişisel veri etkisini raporlarsın.
- Ölçekte uygulama güvenliği: program, otomasyon ve varyant analizi (Seviye 501, 15 ders): Bir kurumun uygulama güvenliği programını OWASP SAMM ile ölçer, güvenlik elçileri ve güvenli varsayılanlarla yayar, SAST, DAST ve SCA’yı tek hatta birleştirir, varyant analiziyle bir açığın bütün ailesini bulursun.
- Uygulamalı değerlendirme: Velmora Bank (çevrim içi bankacılık) (Seviye 501, 14 ders): Kurgusal Velmora Bank’ın web bankacılığını, imzalı mobil API’sini ve ödeme akışını düzenlenmiş bir sektörün kurallarıyla değerlendirir, bulguları zincirleyerek iş etkisini gösterir, SOC ile tespit boşluklarını kapatır ve yönetim kuruluna raporlarsın.
- Meslek görevi: web güvenliği test uzmanı (Seviye 501, 14 ders): Bir web güvenliği test uzmanı olarak kapsam görüşmesinden yeniden teste kadar tam bir değerlendirmeyi yürütür; OWASP WSTG’ye göre test eder, müşteriyle günlük iletişim kurar ve teknik raporla yönetici özetini teslim edersin.
- Meslek görevi: uygulama güvenliği mühendisi (Seviye 501, 13 ders): Bir ürün ekibinin uygulama güvenliği mühendisi olarak tasarım ve kod incelemesi yapar, CI hattını ve WAF korumalarını kurar, dışarıdan gelen bir açık bildirimini ayıklayıp acil düzeltmeyi ve olay sonrası değerlendirmeyi yönetirsin.
Projeler
- Çerez, CORS ve CSP ayarlarını gözden geçir ve düzelt: Karaçam Mobilya’nın laboratuvardaki bayi sitesinin çerez bayraklarını, CORS yanıtlarını ve içerik güvenlik politikasını incelersin. Gevşek ayarları düzeltir, her ayarın önceki ve sonraki halini açıklamasıyla bir tabloda gösterirsin.
- Rezervasyon sitesinin istek haritası ve ilk gözden geçirme: Mercanköşk Otelcilik’in laboratuvardaki rezervasyon sitesinde Burp ile gezinir, sayfaları, istekleri ve veri girilen yerleri bir haritaya dökersin. Haritayı OWASP başlıklarıyla eşleştirip öncelikli bakılacak yerleri gösteren bir ilk gözden geçirme notu yazarsın.
- Ürün aramasındaki SQL enjeksiyonunu kapat: Ürün arama kutusundaki SQL enjeksiyonu açığını kendi uygulamanda bulur, kodu güvenli sorgularla düzeltir ve açığın kapandığını testle gösterirsin.
- Giriş servisinin tehdit modelini çıkar ve ikinci adımı ekle: Küçük bir giriş servisinin tehditlerini listeler, en önemlisine karşı ikinci doğrulama adımı ekler ve önlemin çalıştığını sınarsın.
- Veli portalındaki XSS açığını kapat: Gelincik Okulları’nın laboratuvardaki veli portalında duyuru ve yorum alanlarının girilen metni nasıl gösterdiğini kendi kopyanda sınarsın. Çıktı kodlamasını ve içerik güvenlik politikasını ekleyip açığın kapandığını testle gösterirsin.
- Tedarikçi portalına CSRF ve tıklama tuzağı korumaları ekle: Ayçiçeği Gıda’nın laboratuvardaki tedarikçi portalında hesap ayarlarını değiştiren formların sahte isteklere ve çerçeve içine alınmaya karşı korunup korunmadığını denetlersin. Belirteç, SameSite ve çerçeve kısıtlamasını ekler, korumaları testle doğrularsın.
- Başvuru portalında dosya yüklemeyi güvenli hale getir: Saklıvadi Üniversitesi’nin laboratuvardaki başvuru portalında belge yükleme ve indirme özelliğinin dosya türünü, adını ve yolunu nasıl denetlediğini incelersin. Doğrulamayı, güvenli saklama yerini ve yol denetimini ekler, düzeltmeleri testlerle gösterirsin.
- E-hizmet sunucusunu sıkılaştır: nginx, başlıklar ve TLS: Selvikent Belediyesi’nin laboratuvardaki e-hizmet sitesini sunan nginx’in sürüm bilgisini, dizin listelemesini, güvenlik başlıklarını ve TLS ayarlarını denetlersin. Yapılandırmayı sıkılaştırır ve önce/sonra denetim çıktısını teslim edersin.
- ZAP ile otomatik tarama kur ve bulguları raporla: Göktaşı Yazılım’ın laboratuvardaki müşteri panelini her sürümde tarayan bir ZAP betiği hazırlarsın. Sonuçlardaki yanlış alarmları ayıklar, gerçek bulguları önem derecesi ve düzeltme önerisiyle bir raporda sunarsın.
- Web sitesi yedeği sızıntısını incele: Web sitesinde yanlışlıkla erişime açık kalmış bir yedek dosyasını inceler, içinde hangi bilgilerin sızdığını belirler ve kapatma adımlarını yazarsın.
- Faturalama API’sinde hesaplar arası erişimi test et: Kendi test ortamındaki faturalama API'sinde bir müşterinin başka bir müşterinin kayıtlarına ulaşıp ulaşamadığını kontrol eder ve bulguyu düzeltme önerisiyle raporlarsın.
- Parola sıfırlama akışını düzelt: Parola sıfırlama akışındaki zayıflıkları kendi uygulamanda bulur, akışı güvenli hale getirir ve düzeltmenin işlediğini testlerle gösterirsin.
- Görsel çekiciyi SSRF’ye karşı koru: Verilen adresten görsel çeken bir özelliğin iç sistemlere yönlendirilemeyeceği biçimde sınırlar ve düzeltmenin işlediğini testle gösterirsin.
- Yapay zekâ asistanının araç yetkilerini kısıtla: Şirket içi yapay zekâ asistanının kullanabildiği araçları ve yetkileri gereken en az düzeye indirir ve sınırların aşılmadığını sınarsın.
- Mağaza sitesinin önüne WAF kur ve kuralları ayarla: Turnalı Perakende’nin laboratuvardaki mağaza sitesinin önüne ModSecurity ile OWASP temel kural setini kurarsın. Gerçek müşteri isteklerini engelleyen yanlış alarmları ayarlar, siteye özel bir kural yazar ve sonuçları bir ayar kaydında gösterirsin.
- Web kayıtlarından saldırı izlerini çıkar ve uyarı kur: Kuzeyyıldızı Kargo’nun kargo takip sitesine ait hazırlanmış erişim kayıtlarında saldırı denemelerini türlerine göre ayırır ve zaman çizelgesini çıkarırsın. Aynı kalıpları yakalayan tespit kuralları yazar, inceleme raporunu teslim edersin.
- Müşteri uygulamasında belirteç doğrulamasını gözden geçir ve düzelt: Yakamoz Telekom’un laboratuvardaki müşteri uygulamasında JWT doğrulamasını (imza, süre, hedef kitle) ve OAuth yönlendirme adresi ayarlarını gözden geçirirsin. Eksik denetimleri kodda ve ayarlarda giderir, düzeltmeyi testlerle gösterirsin.
- Randevu API’sinde GraphQL güvenliğini sıkılaştır: Lavinya Klinikleri’nin laboratuvardaki randevu API’sinde şema keşfinin açık olup olmadığını, sorgu derinliği sınırlarını ve alan düzeyinde yetki denetimlerini incelersin. Eksikleri giderir ve her birini testle doğrulayıp sıkılaştırma kaydını yazarsın.
- Web uygulaması ihlali simülasyonu: Kendi laboratuvarındaki bir web uygulamasında bir ihlal senaryosunu baştan sona yönetir; bulguları, kanıtları ve alınan savunma önlemlerini bir raporda toplarsın.
- Sipariş uygulamasının güvenli kod gözden geçirmesi: Ilgıntepe Tekstil’in laboratuvardaki bayi sipariş uygulamasının Python ve PHP kodunu baştan sona gözden geçirir, bulguları dosya ve satır göstererek raporlarsın. En önemli üç bulgu için yama yazar ve yamaları testlerle doğrularsın.
- Bilet satışında eşzamanlılık hatasını düzelt: Lodoskaya Denizcilik’in laboratuvardaki feribot bileti uygulamasında aynı hediye bakiyesinin eşzamanlı isteklerle iki kez harcanabildiğini kendi kopyanda bir testle ortaya koyarsın. İşlemi kilit ve veritabanı işlemleriyle güvenceye alır, eşzamanlılık testinin artık geçtiğini gösterirsin.
- Uygulama güvenliği programı: varyant analizi kural paketi: Yelkovan Bankası’nda daha önce düzeltilmiş bir bulgudan yola çıkarak aynı hatanın benzerlerini arayan statik analiz kuralları yazar, laboratuvardaki üç depoda çalıştırırsın. Sonuçları ayıklar, kuralları her değişiklikte çalışan bir denetime bağlar ve program ölçütleri notunu yazarsın.