DEFENSIVE PROGRAMMER: CODE SAMPLES EĞİTİMİ

Zafiyetli kodu oku, sağlamını yaz

Buffer overflow, SQL injection, race condition ve sızıntı örneklerinde önce-sonra karşılaştırmalı savunmacı kodlama çalışması

Zafiyetli ve düzeltilmiş kod örnekleri üzerinden SQL injection, XSS, overflow ve yarış durumlarına karşı savunmacı programlama.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Gerçekçi kod örnekleri üzerinden zafiyetten düzeltmeye uzanan karşılaştırmalı okuma

Bu eğitim savunmacı programlamayı soyut ilkelerle değil, somut kod örnekleriyle öğretir. Her örnekte zafiyetli sürüm incelenir, sömürü senaryosu tartışılır ve düzeltilmiş sürüm yazılır. SQL injection, yol geçişi (path traversal), integer overflow, bellek taşması, TOCTOU yarış durumu, güvensiz deserialization ve parola saklama örnekleri kapsanır.

Süre ve Format

2 Gün. Her gün dört modül; kod okuma, zafiyet analizi, düzeltme yazımı ve karşılaştırmalı değerlendirme oturumlarından oluşur.

Seviye

Orta Seviye — zafiyetli ve düzeltilmiş kod örnekleri üzerinden savunmacı programlama pratiği

Öğrenme Metodu

Her konuda zafiyetli örnek koşturulur, hata tetiklenir, ardından savunmacı sürüm yazılıp aynı testle doğrulanır.

Neden Bu Eğitim?

🧪Önce-sonra örnekleri

Aynı işlevin zafiyetli ve sağlam sürümünü yan yana görerek farkı kalıcı öğrenirsiniz.

💻Hazır kalıplar

Günlük kodda doğrudan uygulanabilecek güvenli kod kalıplarından oluşan bir koleksiyon edinirsiniz.

👀Gözden geçirme becerisi

Pull request incelemelerinde güvenlik odaklı yorum yapabilir hale gelirsiniz.

Anahtar Konular

defensive programmingsavunmacı programlamasecure coding examplessql injection önlemebuffer overflowpath traversalxss önlemegüvenli kod örneklerikod incelemeowasp top 10
“Güvenli kod, zafiyeti bilen birinin yazdığı koddur; örnekler bu bilgiyi kalıcı kılar.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Programlama deneyimi

En az bir dilde (Java, C, C#, Python) fonksiyon ve sınıf yazabilmek gerekir.

2
Temel güvenlik farkındalığı

OWASP Top 10 başlıklarını duymuş olmak faydalıdır.

3
Git kullanımı

Kod örneklerini klonlayıp dallandırmak için temel Git bilgisi yeterlidir.

4
Çalışma ortamı

Kodu derleyip çalıştırabileceğiniz bir IDE veya terminal ortamı hazır olmalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı, girdi kaynaklı zafiyetleri kod örneklerinde tanır ve parametrik çözümlerle düzeltir.
Modül 1
SQL Injection Örnekleri
  • String birleştirmeyle sorgu oluşturma hatası
  • ' OR 1=1 ile kimlik doğrulama atlatma
  • PreparedStatement ile parametrik sorgu
  • ORM kullanımında ham sorgu tuzakları
  • Saklı yordam ve dinamik SQL riski
  • En az yetkili veritabanı kullanıcısı
Modül 2
Komut ve Yol Enjeksiyonu
  • Runtime.exec ve os.system ile komut enjeksiyonu
  • Kabuk metakarakterlerinin etkisi
  • ../ ile path traversal
  • Canonical path doğrulaması
  • İzin verilen dizin beyaz listesi
  • Argüman dizisiyle güvenli süreç başlatma
Modül 3
XSS ve Çıktı Kodlama
  • Yansıtılan ve saklanan XSS örnekleri
  • Bağlama göre HTML, JS ve URL kodlama
  • Şablon motorunun otomatik kaçışı
  • innerHTML yerine textContent
  • Content-Security-Policy etkisi
  • DOM tabanlı XSS örneği
Modül 4
Güvensiz Deserialization
  • Java ObjectInputStream riski
  • Pickle ve YAML load zafiyetleri
  • Gadget zinciri mantığı
  • Beyaz liste tabanlı sınıf filtreleme
  • JSON gibi veri-only formata geçiş
  • İmzalı serileştirme yaklaşımı
Günün hedefiKatılımcı, bellek, eşzamanlılık ve gizli veri hatalarını örneklerle tespit edip düzeltir.
Modül 1
Bellek ve Sayısal Hatalar
  • strcpy ile buffer overflow
  • strncpy ve snprintf farkı
  • Integer overflow ve işaret hatası
  • Off-by-one örnekleri
  • Format string zafiyeti
  • Bellek güvenli dillerin sağladığı koruma
Modül 2
Yarış Durumu Örnekleri
  • TOCTOU dosya erişimi
  • Kritik bölge ve kilit kullanımı
  • Atomik işlemler ve compare-and-swap
  • Çift harcama (double spend) senaryosu
  • Veritabanı işlem izolasyonu
  • Thread-safe tasarım ilkeleri
Modül 3
Parola ve Gizli Anahtar Yönetimi
  • Düz metin parola saklama hatası
  • bcrypt, scrypt ve Argon2 kullanımı
  • Salt ve pepper kavramı
  • Koda gömülü anahtar sorunu
  • Ortam değişkeni ve secret manager
  • Git geçmişinde sızan sır tarama
Modül 4
Kendi Kodunu Gözden Geçirme
  • Kontrol listesiyle kod inceleme
  • Statik analiz araçlarıyla bulgu sınıflandırma
  • Yanlış pozitif ayıklama
  • Düzeltmeyi test ile kanıtlama
  • Zafiyet regresyon testi yazma
  • Ekip içi güvenli kod örnek kütüphanesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Enjeksiyon düzeltme

SQL ve komut enjeksiyonunu parametrik çağrılarla kodda kalıcı olarak kapatabilirsiniz.

✅
Çıktı kodlama

XSS riskini bağlama uygun kodlama ve CSP ile azaltabilirsiniz.

✅
Yol doğrulama

Path traversal girişimlerini kanonik yol kontrolüyle engelleyebilirsiniz.

✅
Bellek güvenliği

Taşma ve sayısal hata kalıplarını tespit edip güvenli fonksiyonlara geçebilirsiniz.

✅
Eşzamanlılık

Yarış durumlarını kilit ve atomik işlemlerle çözebilirsiniz.

✅
Parola saklama

Parolaları modern hash algoritmalarıyla doğru biçimde saklayabilirsiniz.

✅
Sır yönetimi

Koda gömülü anahtarları secret manager yaklaşımına taşıyabilirsiniz.

✅
Kod inceleme

Güvenlik odaklı kod inceleme kontrol listesi uygulayabilirsiniz.

Kimler İçin Uygundur?

  • Yazılım geliştiriciler
  • kod gözden geçiren kıdemli mühendisler
  • güvenli kodlama alışkanlığı kazandırmak isteyen takım liderleri

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Yazılım geliştiriciler, kod gözden geçiren kıdemli mühendisler ve güvenli kodlama alışkanlığı kazandırmak isteyen takım liderleri.
Hangi dilde örnekler var?
Örnekler Java, C ve Python ağırlıklıdır; kavramlar diğer dillere de uygulanabilir şekilde anlatılır.
Zafiyetli kodları çalıştıracak mıyız?
Evet, yalnızca izole eğitim ortamında; amaç sömürü değil, açığı anlayıp kapatmaktır.
Defensive Programming serisinin diğer eğitimleriyle ilişkisi nedir?
Bu eğitim örnek odaklıdır; girdi, yöntem ve standart eğitimleri aynı konuyu farklı eksenlerden tamamlar.
Sertifika alacak mıyız?
Evet, Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Defensive Programmer: Code Samples Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Geliştirme GenelLearn to Code - Fundamentals Eğitimi
Yazılım Geliştirme Eğitimleri

Learn to Code - Fundamentals Eğitimi

3 günBaşlangıçOnline / Yüz Yüze / Hibrit

Learn to Code temel eğitimi: sıfırdan Python ile algoritma, değişken, koşul, döngü, fonksiyon, liste, sözlük, dosya işlemleri ve küçük proje geliştirme.

Detayları Gör →
Yazılım Geliştirme GenelLeveraging Health for Maximo Application Suite - Manage Eğitimi
Yazılım Geliştirme Eğitimleri

Leveraging Health for Maximo Application Suite - Manage Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Maximo Health eğitimi: varlık sağlık skoru kriterleri, ağırlıklandırma, kritiklik ve risk matrisi, yatırım planlama ve MAS Manage entegrasyonu uygulamalı işleni

Detayları Gör →
Yazılım Geliştirme GenelLeveraging RPA at Work Eğitimi
Yazılım Geliştirme Eğitimleri

Leveraging RPA at Work Eğitimi

3 günBaşlangıçOnline / Yüz Yüze / Hibrit

İş yerinde RPA eğitimi: otomasyon adayı süreç seçimi, PDD, UiPath Studio, selector, Excel ve web otomasyonu, hata yönetimi ve Orchestrator ile bot işletimi.

Detayları Gör →
Yazılım Geliştirme GenelLiferay Geliştirme Eğitimi
Yazılım Geliştirme Eğitimleri

Liferay Geliştirme Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Liferay geliştirme eğitimi: Liferay Workspace, OSGi modülleri, MVC Portlet, Service Builder, Fragment ve tema özelleştirme, Headless API ve Docker dağıtımı.

Detayları Gör →
Yazılım Geliştirme GenelLonghorn Deployment and Operations (LHN201) Eğitimi
Yazılım Geliştirme Eğitimleri

Longhorn Deployment and Operations (LHN201) Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

Longhorn Deployment and Operations LHN201 eğitimi: Kubernetes depolama kurulumu, replikalar, snapshot, S3 backup, DR volume, performans ayarı ve upgrade işletim

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn