Enjeksiyon Saldırıları Nelerdir ?
- CodeX
- 22 Eki 2020
- 3 dakikada okunur
Enjeksiyon saldırıları, geniş bir saldırı vektörleri sınıfını ifade eder. Enjeksiyon saldırısında, saldırgan bir programa güvenilmeyen girdi sağlar. Bu girdi, bir komutun veya sorgunun parçası olarak bir yorumlayıcı tarafından işlenir. Bu da, o programın yürütülmesini değiştirir.
Enjeksiyonlar, web uygulamalarına yönelik en eski ve en tehlikeli saldırılar arasındadır. Veri hırsızlığına, veri kaybına, veri bütünlüğünün kaybına, hizmet reddine ve tam sistem tehlikesine yol açabilirler. Enjeksiyon güvenlik açıklarının birincil nedeni genellikle yetersiz kullanıcı girişi doğrulamasıdır.
Bu saldırı türü, web güvenliğinde önemli bir sorun olarak kabul edilir. OWASP İlk 10'da bir numaralı web uygulaması güvenlik riski olarak listelenmiştir ve bunun iyi bir nedeni vardır. Enjeksiyon saldırıları, özellikle SQL Enjeksiyonları (SQLi saldırıları) ve Siteler Arası Komut Dosyası Yazma (XSS), sadece çok tehlikeli değil, aynı zamanda özellikle eski uygulamalarda yaygındır.
Enjeksiyon güvenlik açıklarını özellikle korkutucu yapan şey, saldırı yüzeyinin çok büyük olmasıdır (özellikle XSS ve SQL Enjeksiyon güvenlik açıkları için). Ayrıca, enjeksiyon saldırıları çok iyi anlaşılmış bir güvenlik açığı sınıfıdır. Bu, deneyimsiz saldırganların bile bu güvenlik açıklarını otomatik olarak kötüye kullanmasına olanak tanıyan birçok ücretsiz ve güvenilir araç olduğu anlamına gelir.

Enjeksiyon Saldırısı Türleri
SQL enjeksiyonu (SQLi) ve Siteler Arası Komut Dosyası (XSS) en yaygın enjeksiyon saldırılarıdır, ancak tek saldırılar bunlar değildir. Aşağıda, yaygın enjeksiyon saldırı türlerinin bir listesi verilmiştir.
Kod yerleştirme
Saldırgan, uygulama dilinde yazılmış uygulama kodunu enjekte eder. Bu kod, web uygulamasını çalıştıran kullanıcının ayrıcalıklarıyla işletim sistemi komutlarını yürütmek için kullanılabilir. Gelişmiş durumlarda, saldırgan, ek ayrıcalık yükseltme güvenlik açıklarından yararlanabilir ve bu da tam web sunucusu güvenliğinin ihlal edilmesine neden olabilir.
CRLF enjeksiyonu
Saldırgan, beklenmedik bir CRLF (Satır Başı ve Satır Besleme) karakter dizisi enjekte eder. Bu sıra, bir HTTP yanıt başlığını bölmek ve isteğe bağlı içerikleri yanıt gövdesine yazmak için kullanılır. Bu saldırı Siteler Arası Komut Dosyası (XSS) ile birleştirilebilir.
Siteler Arası Komut Dosyası (XSS)
Saldırgan, yasal bir web sitesine veya web uygulamasına rastgele bir komut dosyası (genellikle JavaScript'te) enjekte eder. Bu komut dosyası daha sonra kurbanın tarayıcısında çalıştırılır.
E-posta Üstbilgisi Ekleme
Bu saldırı, CRLF enjeksiyonlarına çok benzer. Saldırgan, bir web uygulaması aracılığıyla doğrudan erişilemeyen bir posta sunucusuna IMAP / SMTP komutları gönderir.
Ana Bilgisayar Üstbilgi Ekleme
Saldırgan, şifre sıfırlama işlevini ve web önbelleklerini zehirlemek için HTTP Ana Bilgisayar başlığının örtük güvenini kötüye kullanır.
LDAP Enjeksiyonu
Saldırgan, rastgele LDAP komutlarını yürütmek için LDAP (Basit Dizin Erişim Protokolü) ifadeleri enjekte eder. İzinleri alabilir ve LDAP ağacının içeriğini değiştirebilirler.
OS Command Injection
Saldırgan, web uygulamasını çalıştıran kullanıcının ayrıcalıklarıyla işletim sistemi komutları enjekte eder. Gelişmiş durumlarda, saldırgan ek ayrıcalık yükseltme güvenlik açıklarından faydalanabilir ve bu da tam sistem tehlikesine yol açabilir.
SQL Enjeksiyonu (SQLi)
Saldırgan, veritabanı verilerini okuyabilen veya değiştirebilen SQL ifadeleri enjekte eder. Gelişmiş SQL Injection saldırıları durumunda, saldırgan sunucuya rastgele dosyalar yazmak ve hatta OS komutlarını yürütmek için SQL komutlarını kullanabilir. Bu, tam sistem tehlikesine yol açabilir.
XPath enjeksiyonu
Saldırgan, hazırlanmış XPath sorgularını yürütmek için bir uygulamaya veri enjekte eder. Bunları yetkisiz verilere erişmek ve kimlik doğrulamayı atlamak için kullanabilirler.
Enjeksiyon saldırıları nelerdir?
Bir enjeksiyon saldırısında, saldırgan bir web uygulamasına kötü amaçlı girdi sağlayabilir (enjekte edebilir). Uygulama, bu kötü amaçlı girdiyi işler ve bu da uygulamanın beklenmedik bir şekilde davranmasına neden olur. Örneğin, ifşa edilmemesi gereken bilgileri açığa çıkarabilir, kullanıcıya hiçbir zaman sahip olmaması gereken izinler verebilir veya sunucuda veya istemcide zararlı kod çalıştırabilir.
Yaygın enjeksiyon atağı türleri nelerdir ?
En yaygın enjeksiyon saldırısı türlerinden bazıları SQL enjeksiyonları, siteler arası komut dosyası oluşturma (XSS), kod enjeksiyonu, OS komut enjeksiyonu, ana bilgisayar başlığı enjeksiyonu ve daha fazlasıdır. Web uygulamalarında bulunan güvenlik açıklarının büyük bir kısmı enjeksiyon güvenlik açıkları olarak sınıflandırılabilir.
Enjeksiyon zafiyetleri nasıl tespit edilir ?
Enjeksiyon saldırılarını mümkün kılan enjeksiyon güvenlik açıklarını tespit etmenin en etkili yolu, otomatik bir web güvenlik açığı tarayıcısı kullanmaktır. Bunları sızma testi yoluyla manuel olarak tespit edebilirsiniz, ancak bu çok daha fazla zaman ve kaynak gerektirir. Acunetix, her tür enjeksiyon güvenlik açıklarını tespit edebilir, değerlendirebilir ve yönetebilir.
Enjeksiyon saldırılarından nasıl kaçınılır ?
Enjeksiyon saldırılarından kaçınmak için, web uygulamalarınızı enjeksiyon güvenlik açıklarından kaçınmak için güvenli bir şekilde kodlamalısınız. En önemli kısım şudur: kullanıcı girdisine asla güvenmeyin. Herhangi bir tür kullanıcı girdisini ne kadar kısıtlar, kontrol eder ve izlerseniz, uygulamanızın saldırıya uğramasını o kadar önleyebilirsiniz.
Comments