Hoşgeldin Misafir

Web Uygulama Güvenliği: SQL Injection, XSS ve Diğer Zafiyetler

Graves

Graves

Karanlık Özgürlüktür
Moderator
9 Eki 2024
10,461 Mesaj
TIM Görevleri
2

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Web Uygulama Güvenliği: SQL Injection, XSS ve Diğer Zafiyetler

Merhabalar Ben @binbaşı Lojistik grup adına paylaşılan Web Uygulama Güvenliği: SQL Injection, XSS ve Diğer Zafiyetler makalesinde sizi görmekten mutluyum.

Dijitalleşmenin hız kazandığı günümüzde, web uygulamaları bireylerin ve kurumların vazgeçilmez bir parçası haline gelmiştir. Ancak, bu uygulamaların artan kullanımı, beraberinde ciddi güvenlik açıklarını da gündeme getirmiştir. Web uygulama güvenliği, yazılımların dış tehditlere karşı dayanıklı hale getirilmesi sürecidir. Bu makalede, en sık karşılaşılan güvenlik zafiyetlerinden SQL Injection, XSS (Cross-Site Scripting) ve diğer önemli açıklara odaklanacağız.

SQL Injection (SQL Enjeksiyonu)

SQL Injection, kullanıcıdan alınan verilerin doğrudan SQL sorgularına dahil edilmesiyle meydana gelen bir güvenlik açığıdır. Saldırganlar bu zafiyeti kullanarak veritabanına yetkisiz erişim sağlayabilir, verileri değiştirebilir veya silebilir.

Örnek

Kod:
SELECT * FROM users WHERE username = '$username' AND password = '$password';


Yukarıdaki sorguya " OR 1=1 -- gibi bir giriş yapılırsa, tüm kullanıcı bilgilerine erişim sağlanabilir.

Korunma Yöntemleri

  • Hazır sorgular (Prepared Statements) ve PDO kullanımı
  • Girdi validasyonu
  • ORM (Object-Relational Mapping) araçları

XSS (Cross-Site Scripting)

XSS saldırıları, zararlı betiklerin başka kullanıcıların tarayıcılarında çalıştırılmasıyla gerçekleştirilir. Genellikle formlar veya URL parametreleri aracılığıyla yapılır.
  1. Stored XSS: Zararlı kod, sunucuya kaydedilir ve tüm kullanıcılar tarafından görülür.
  2. Reflected XSS: Zararlı kod, URL ile birlikte çalışır.
  3. DOM-based XSS: JavaScript'in istemci tarafındaki yorumlanması ile oluşur.

Korunma Yöntemleri

  • Kullanıcı girdilerinin filtrelenmesi ve encode edilmesi
  • Güvenli framework kullanımı (örneğin React, Angular gibi)
  • Content Security Policy (CSP) uygulanmas

Diğer Yaygın Web Güvenlik Açıkları

1. CSRF (Cross-Site Request Forgery)

Kullanıcının kimliğiyle habersiz işlem yapılmasına neden olur.
Korunma: CSRF token kullanımı.

2. Dosya Yükleme Zafiyetleri

Kötü niyetli dosyalarla sistem ele geçirilebilir.
Korunma: MIME tipi ve uzantı doğrulaması, içerik taraması.


3. Açık Yönlendirme (Open Redirect)

Kullanıcıyı sahte bir siteye yönlendirebilir.
Korunma: Hedef URL'lerin beyaz listeyle kontrol edilmesi.

4. Güvensiz Doğrulama ve Yetkilendirme

Kullanıcının olması gerekenden fazla yetki kazanması.
Korunma: Roller bazlı erişim kontrolü (RBAC), session yönetimi.

Güvenli Web Geliştirme İçin En İyi Uygulamalar

  • Girdilerin her zaman doğrulanması ve filtrelenmesi
  • Minimum yetki prensibi (least privilege)
  • Güncel framework ve kütüphanelerin kullanımı
  • HTTPS kullanımı
  • OWASP Top 10 listesi doğrultusunda geliştirme yapılması
  • Güvenlik testlerinin CI/CD sürecine entegre edilmesi
Web uygulamaları, kullanıcılarla doğrudan etkileşim kurdukları için siber saldırılara açık hale gelmektedir. Güvenli yazılım geliştirme prensiplerine uyarak ve yaygın zafiyetleri dikkate alarak geliştirilen uygulamalar, hem kullanıcıların hem de sistemlerin güvenliğini sağlar. Unutulmamalıdır ki, güvenlik bir seçenek değil, zorunluluktur.

LOJİSTİK TİM SUNDU
btn1pyf.png