Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
OWASP A07: Authentication Failures (2) — Cookie Bayrakları, JWT Doğrulama ve CSRF
Girişten sonra kimliğin her istekte nasıl taşındığına bakıyoruz. Cookie bayraklarını ve __Host- önekini açıkça ayarlıyor, session fixation riskini anlatıyor, JwtBearer'da issuer, audience, süre, imza ve algoritmayı doğruluyor, süresi dolan token'da ClockSkew'un etkisini saniye saniye ölçüyor ve antiforgery ile SameSite'ın CSRF'e karşı birlikte nasıl çalıştığını gösteriyoruz.
OWASP A08: Software or Data Integrity Failures — Deserialization ve Mass Assignment
Gelen verinin kendi tipini seçmesinin neden tehlikeli olduğunu kavramsal olarak anlatıyor, BinaryFormatter'ın net10.0'da derleme hatası ve PlatformNotSupportedException ile nasıl sona erdiğini gerçek çıktılarla gösteriyoruz. System.Text.Json'da allowlist ile polimorfizm kuruyor, DTO ve JsonUnmappedMemberHandling ile mass assignment'ı kapatıyor, CI/CD ve SRI ile kodun bütünlüğüne bakıyoruz.
OWASP A09: Security Logging and Alerting Failures — Neyi Loglamalı, Neyi Asla
Yanlış parolayı loga yazan, satır sonuyla sahte kayıt üretilebilen ve 403'leri hiç kaydetmeyen bir giriş endpoint'iyle başlıyoruz. LoggerMessage ve JSON console ile structured logging'e geçiyor, yetkilendirme reddini görünür kılıyor, e-postayı HMAC redaction ile koruyor, traceId ile cevabı loga bağlıyor ve hangi olaylara alarm kurulacağına bakıyoruz.
OWASP A10: Mishandling of Exceptional Conditions — Fail Closed ve ProblemDetails
İzin dosyası okunamayınca herkesi admin yapan bir yetki kontrolü, istemciye SQL hatasını ve dosya yolunu gönderen bir yorum endpoint'i ve istemci gittikten sonra da çalışmaya devam eden bir aramayla başlıyoruz. Fail closed, hatayı yerinde yakalamak, IExceptionHandler ve ProblemDetails, .NET 10'un handler loglama değişikliği, request timeout ve iptal ile düzeltiyoruz.
OWASP Top 10'u Birleştirmek: ASP.NET Core ve Angular için Güvenli Varsayılanlar
On kategoriyi tek bir Program.cs'te birleştiriyoruz: fallback policy, cookie bayrakları, ProblemDetails, 429 dönen rate limiting, security header'lar ve bilinmeyen JSON alanlarını reddetmek. Hepsini curl ile doğruluyor, .NET analyzer'larıyla SAST, WebApplicationFactory ile güvenlik regresyon testi yazıyor, DAST'ı ve ASVS 5.0'a geçişi konuşuyoruz.
OWASP Top 10:2017: XXE, Insecure Deserialization ve Bugüne Kalan Dersler
OWASP Top 10:2017 listesini, yazıldığı dönemin web'ini ve 2013'ten 2017'ye değişenleri inceliyoruz. XXE'nin .NET 10'da varsayılan olarak nasıl reddedildiğini gerçek bir istekle, BinaryFormatter'ın neden artık derlenmediğini ve çalışmadığını kodla görüyor, XSS'in ayrı kategori olduğu yılları bugünkü listeyle karşılaştırıyoruz.
OWASP Top 10: 2017'den 2021'e, Semptomdan Kök Nedene
2017 listesinin 2021'de nasıl yeniden kurulduğunu inceliyoruz: Sensitive Data Exposure'dan Cryptographic Failures'a, Broken Access Control'ün bir numaraya çıkışı, XSS'in Injection'a katılması, Insecure Design ve SSRF'in gelişi. Küçük bir .NET örneğiyle SQL parametresi ile HTML encoding'in aynı kök nedene verilen cevap olduğunu gösteriyor, 2021 metodolojisini rakamlarıyla anlatıyoruz.
OWASP Top 10: 2021'den 2025'e Ne Değişti ve Eski Dokümanları Güncellemek
SSRF'in A01'e katılması, bileşen sorununun Software Supply Chain Failures'a büyümesi, Security Misconfiguration'ın ikinciliğe çıkışı, yeni A10 Mishandling of Exceptional Conditions ve üç isim değişikliği. 2025 metodolojisini rakamlarıyla okuyor, eski ve yılsız kategori numaralarını bulup 2025 karşılığını öneren küçük bir .NET aracı yazıyoruz.
OWASP'ın Diğer Listeleri: API Security, LLM Top 10, ASVS ve Cheat Sheet Series
Top 10'un dışına çıkıyoruz: API Security Top 10 (2023) ile BOLA, BOPLA ve BFLA ayrımı, response DTO'suyla property seviyesinde veri ifşasını önlemek, Top 10 for LLM Applications (2025), ASVS 5.0 ve Cheat Sheet Series. Serinin yeni Top 10 sürümleriyle nasıl süreceğini ve sıradaki güvenlik serilerini konuşuyoruz.