Dosya Dahil Etme Saldırısı nedir?

Yayınlanan: 2023-03-31

Herhangi bir araç iyi veya kötü niyetle kullanılabilir ve dosya dahil etme farklı değildir. Dosya dahil etme, kodu korumayı ve işlevleri bir site genelinde genişletmeyi kolaylaştıran bir programlama yöntemidir. Bir dosya dahil etme saldırısı, PHP'nin tek bir web sayfası oluşturmak için birçok farklı dosyadan kodu birleştirmek ve yürütmek için geçerli bir yöntem olarak dosya dahil etme yöntemini kötüye kullanır. PHP, WordPress'in kullandığı bir dil olduğundan, WordPress ve diğer PHP uygulamaları, uygun güvenlik önlemleri bozulduğunda, eksik olduğunda veya bulunmadığında dosya ekleme güvenlik açıklarına eğilimlidir.

Dosya dahil etme saldırılarına yönelik bu eksiksiz kılavuzda, bilgisayar korsanlarının kötü amaçlı yazılım enjekte etmek ve WordPress sitelerine girmek için kötü talimatlar göndermek için zayıf kullanıcı girişi temizleme ve doğrulamadan yararlanma yollarını keşfedeceğiz.

WordPress dosya dahil etme saldırılarının nasıl gerçekleştiğini ve web sitenizi bunlara kurban gitmekten korumak için neler yapabileceğinizi öğreneceksiniz.

Dosya Dahil Etme Saldırısı

Dosya İçerme nedir?

Dosya ekleme, işlevsellik eklemek, bir tasarım şablonunu yeniden kullanmak veya bir içerik parçasını birden çok sayfada paylaşmak için birçok dosyayı tek bir komut dosyasına veya web sayfasına dahil etmeye yönelik bir geliştirme tekniğidir.

Dosya eklemeleri kesinlikle gereklidir. Geliştiriciler genellikle bunları aşağıdaki amaçlar için kullanır:

  • Tasarım ve işlevde tutarlılık sağlamak için bir web sitesinin tüm sayfalarında ortak olan üstbilgi ve altbilgi dosyaları dahil.
  • Bir web sitesi veya web uygulamasında temel işlevler için komut dosyaları ve kitaplıklar dahil.
  • Veritabanı bağlantı bilgileri ve API anahtarları gibi uygulama için ayarları içeren yapılandırma dosyaları dahil.
  • Resim, video, metin gibi içerikler veya web sayfalarındaki diğer içerikler dahil.
  • Bir URL parametresi olarak iletilen kullanıcı girişine dayalı olarak dinamik içerik oluşturmaya yönelik işlevsellik dahil. Örneğin, bir kullanıcı belirli bir çıktı oluşturmak için bir form gönderebilir.

Dosya Dahil Etme Türleri

Geliştiriciler, dosya dahil etme tekniğini kullanarak bir web sayfasına statik veya dinamik olarak dosya ve komut dosyası ekleyebilir.

Bir geliştirici, statik dosya eklemeyi kullanarak, bir Tekdüzen Kaynak Bulucuya (URL) veya yerel olarak, yani aynı sunucuda depolanan bir dosyanın yoluna atıfta bulunarak aynı metni veya kodu birden çok sayfada yeniden kullanabilir. Statik dosya eklemeleri, temaların birçok web sayfasında aynı üstbilgiyi, altbilgiyi veya gezinme menüsü kodunu kullanmasına olanak tanır.

Dinamik dosya eklemeleri, çalışma zamanında kullanıcı girişini kabul eder. Kullanıcı, yolu belirli bir dosyaya ileterek istenen çıktıyı belirtir. Tipik olarak, kullanıcı girişi bir URL'de veya form gönderiminde bir parametre olarak iletilir. Örneğin, bir kullanıcı, URL'yi şu şekilde değiştirerek onları bulundukları sayfanın İngilizce sürümüne götüren açılır dil seçim listesinden "İngilizce"yi seçebilir: /page.php?language=english . Birisi " english "yi uzak bir dosyanın URL'siyle değiştirirse, bunu önleyecek kontroller yoksa hedeflenen siteye arka kapı olarak bir web kabuğu ve/veya başka bir kötü amaçlı yazılım enjekte edebilir.

WordPress'te Dosya Dahil Etme Nasıl Uygulanır?

WordPress gibi PHP ile yazılmış tüm dinamik web uygulamaları, dosya eklemeyi güvenle kullanabilir. PHP ile yazılmış uygulamalarda geliştiriciler, dosya ekleme işlemini include ve require deyimlerini kullanarak gerçekleştirirler. Geliştiriciler, bir PHP betiğinin içeriğini diğerine eklemek için her iki ifadeyi de kullanır. Bu, kod sunucuda yürütülmeden önce gerçekleşir.

WordPress çekirdek dosyalarından bazılarına bakarsanız, bunların çoğu diğer temel komut dosyalarına atıfta bulunur. Hepsi birlikte yüklendiğinde, sitenizin yapısını oluştururlar ve bir ziyaretçinin talep ettiği ayrı ayrı web sayfalarını oluştururlar. Ana index.php , sırasıyla WordPress ortamını ve tema şablonunu - wp-load.php ve template-loader.php yükleyen wp-blog-header.php atıfta bulunur.

WordPress'in index.php dosyası, dosya eklemeyi kullanır.

WordPress çekirdeğinin yanı sıra, eklentiler ve temalar da gerekli görevleri gerçekleştirmek için dosya eklemeyi kullanır. Bununla birlikte, mevcut on binlerce WordPress eklentisi ile, hepsi WordPress çekirdeği kadar iyi test edilmemiştir.

Dosya eklemeleri, geliştiriciler bunları düzgün bir şekilde güvence altına almadığında ciddi güvenlik riskleri getirir. Kullanmakta olduğunuz kod, kullanıcı girişini doğrulamaz ve temizlemezse, bilgisayar korsanları bundan yararlanabilir. Kötü amaçlı yazılım yüklemek ve hassas bilgileri çalmak için kullanabilirler - muhtemelen sizin veya müşterilerinizin!

Dosya Dahil Etme Saldırısı nedir?

İki tür dosya dahil etme saldırısı mümkündür: yerel dosya dahil etme (LFI) veya uzak dosya dahil etme (RFI).

Dosya dahil etme saldırıları, daha geniş enjeksiyon saldırısı sınıfının bir parçasıdır. Buna SQL enjeksiyonları (SQLi), siteler arası komut dosyası çalıştırma (XSS) ve komut dahil etme saldırıları dahildir. Bilgisayar korsanları, arabellek taşması saldırıları gibi başka türde saldırılar yapmak için giriş güvenlik açıklarından yararlanabilir.

Yerel ve Uzak Dosya Dahil Etme Saldırıları

Belirli özellikleri etkinleştirmek için dinamik dosya eklemeye dayanan web siteleri ve web uygulamaları, hem uzaktan dosya dahil etme saldırılarına hem de yerel dosya dahil etme saldırılarına maruz kalabilir.

Yerel Dosya Kapsamaları (LFI)

Yerel bir dosya dahil etme saldırısı, hedeflenen web sitesi veya web uygulamasıyla aynı sunucuda bulunan bir dosyayı enjekte edebilir. LFI saldırıları genellikle normalde kısıtlanmış dosyalara erişim sağlayabilir. Bir LFI saldırısında, içerilen dosya hedeflenen yerel uygulama sunucusunda zaten mevcut olmalıdır. Bir LFI saldırısında, kötü niyetli bir kişi önemli dosyaları okuyabilir, daha hassas bilgilere erişebilir veya rastgele komutlar çalıştırabilir.

Yerel dosya dahil etme saldırıları, birinin hassas verilere hedeflenen web sitesi dışında erişmesine de izin verebilir. Bu, /etc/passwd gibi sunucu yapılandırma dosyalarını veya wp-config.php gibi başka bir web sitesinin yapılandırma dosyalarını içerir. Bununla birlikte, hedeflenen dosyaların ayrıcalığı olmayan kullanıcılar tarafından okunabilir olması gerektiğini belirtmek önemlidir - örneğin, Linux sistemlerindeki /etc/passwd dosyasının sahibi root'tur, ancak dosya izinleri 644'e ayarlanmıştır, diğer tüm sistem kullanıcıları görüntüleyebilirsiniz.

Saldırganlar, dosya sisteminde gezinmek için, ../../../ gibi dizin yolu geçiş dizilerini manipüle ederek geçerli çalışma dizini dışındaki dosyalara erişmek için bir teknik olan dizin geçişi kullanır.

Uzak Dosya Kapsamaları (RFI)

Uzaktan dosya dahil etme saldırıları, başka bir sunucuda barındırılan dosyalara çağrı yapan web sitelerini ve uygulamaları hedefler. Saldırgan, uzak dosya dahil etme özelliğini kullanarak başka bir yerde barındırılan kötü amaçlı koddan yararlanabilir. Hedeflenen sunucuda bir güvenlik açığı bulunmalıdır, ancak saldırgan bunu başka bir yerde barındırılan kötü amaçlı kodu yürütmek için kullanacaktır.

Uzak Dosya Dahil Etme saldırılarında, bilgisayar korsanları web uygulamalarındaki "dinamik dosya dahil etme" komutundan yararlanır. Bilgisayar korsanları, URL'ler ve parametre değerleri gibi kullanıcı girişlerini kabul eden web uygulamalarından yararlanabilir ve bunları uygun temizleme olmadan "dosya içerme" mekanizmalarına aktarabilir. Bu tür bir güvenlik açığında, saldırganlar kötü amaçlı komut dosyaları içeren uzak dosyaları dahil etmek için web uygulamasından yararlanabilir.

WordPress Dosya Dahil Etme Saldırıları Neden Oluşuyor?

WordPress siteleri internetin %43'ünü oluşturuyor, bu nedenle saldırganlar için büyük bir hedef. 2022 WordPress Güvenlik Açığı Yıllık Raporumuz, geçen yıl keşfedilen tüm WordPress güvenlik açıklarının %90'ından fazlasının eklentilerde ve temalarda olduğunu gösteriyor. Tipik olarak, 20 ila 50 eklentide haftalık olarak bildirilen en az bir yeni güvenlik açığı gördük.

Son zamanlarda, güvenlik araştırmacıları, popüler OceanWP temasında bir dosya dahil etme güvenlik açığı keşfetti. OceanWP'nin yarım milyondan fazla aktif kullanıcısı var. (Bunu haftalık WordPress güvenlik açığı raporumuzda bildirdik.) OceanWP güvenlik açığını hızlı bir şekilde yamalamış olsa da, milyonlarca WordPress sitesi hala eski kodu kullanırken bilgisayar korsanlarının bundan yararlanmak için zamanı vardı.

Haftalık WordPress Güvenlik Açığı Raporunu her Çarşamba gelen kutunuza teslim edin.
şimdi abone ol

Bir WordPress Dosya Dahil Etme Saldırısı Nasıl Tespit Edilir

Web sitenizi önemli ölçüde yavaşlatabilecek hizmet reddi saldırılarının veya insanları web sitenizden sahte kaynaklara yönlendiren kötü amaçlı yönlendirmelerin aksine, dosya dahil etme saldırılarının tespit edilmesi zordur. Bunun nedeni basittir. Bilgisayar korsanları, kötü amaçlı yazılım yüklemek ve başka saldırılar gerçekleştirmek için dosya eklemeyi bir giriş noktası olarak kullanır. Dosya dahil etme, daha görünür hasara giden sessiz bir yoldur. Bu nedenle, bir bilgisayar korsanı bir web sitesine kötü amaçlı kod enjekte ettiğinde veya hassas bilgilere eriştiğinde, bunu fark etmemeniz büyük bir ihtimaldir.

Bu bizi önemli bir sonuca getiriyor. Web sitesi güvenliği, saldırı yüzeyini küçülterek ve sertleştirerek başlamalıdır. Bu, bilgisayar korsanlarının dosya dahil etme saldırıları, SQL ve komut enjeksiyonları ve siteler arası komut dosyası çalıştırma (XSS) gibi enjeksiyon saldırılarının kaynaklandığı giriş güvenlik açıklarından yararlanmalarını önlemeye yardımcı olacaktır.

WordPress Dosya Dahil Etme Saldırılarına Karşı Nasıl Savunma Yapılır?

WordPress'i hedef alan artan sayıda siber saldırı ile, WordPress web sitesi güvenliği her zamankinden daha önemli. WordPress dosya dahil etme saldırılarına karşı savunma, giriş güvenlik açıklarından yararlanma ve rastgele kod yürütme olasılığını sınırlayan çok yönlü bir yaklaşım gerektirir. Proaktif ve reaktif güvenlik önlemlerinin bir kombinasyonunu benimserseniz bunu yapabilirsiniz.

İşte web sitenizi dosya ekleme saldırılarına karşı korumak için en iyi üç WordPress güvenlik önerisi.

Tüm Yazılımları Güncel Tutun

Sitenizin saldırı yüzeyini azaltmak söz konusu olduğunda WordPress çekirdeği, temalar, eklentiler ve uzantılar dahil olmak üzere tüm yazılımlarınızı güncel tutmak çok önemlidir. Her gün yeni güvenlik açıkları ortaya çıktıkça, bilgisayar korsanlarına bunları kullanma şansı vermeyin. Güvenlik yamalarını yükleyin ve güncellemeleri mümkün olan en kısa sürede yapın.

Web sitenizin hiçbir zaman savunmasız kod çalıştırmadığından emin olmak için düzenli güncellemeleri kendiniz yapma alışkanlığı edinin veya otomatik güncellemeleri etkinleştirin. iThemes Security Pro, WordPress çekirdek, eklenti ve tema güncellemelerini sizin için halledebilir.

iThemes Security Pro, web sitenizin kullandığı yazılımın yeni sürümlerini otomatik olarak tarar. Sürüm Yönetimi sistemi, tüm güvenlik yamalarının ve güncellemelerinin kullanıma sunulur sunulmaz yüklenmesini sağlar. Bunun da ötesinde, sunucu altyapınızda eski bir yazılım çalıştırıyorsanız iThemes sizi uyaracaktır. Örneğin, son kullanım tarihi geçmiş bir PHP sürümü veya savunmasız bir MySQL sunucusu kullanıyorsanız, iThemes Pro sizi uyaracaktır.

Kontrolünüz altında birden fazla WordPress siteniz varsa, iThemes Sync Pro, hepsini yönetmeniz için size tek bir arayüz sunar. Sync ayrıca gelişmiş çalışma süresi izleme ve SEO geri bildirimi sunar.

PHP'de Uzak Dosya Dahil Etmeyi Devre Dışı Bırak

PHP ortamında allow_url_fopen seçeneği etkinleştirildiyse, bir web sitesinin harici bir URL'den uzak dosyalara başvurması mümkündür. Bu, uzaktan dosya dahil etme saldırıları riskini artırabilir. allow_url_fopen devre dışı bırakmak, birisinin WordPress web sitenizdeki uzak bir konumdan yüklenen kötü amaçlı kod çalıştırma olasılığını etkili bir şekilde ortadan kaldırır.

allow_url_fopen PHP genel yapılandırmasında veya allow_url_fopen yerel bir .user.ini veya ayrı bir web klasörü için oluşturulmuş php.ini dosyasında 0 ayarlayarak devre dışı bırakabilirsiniz. Aşağıda gösterildiği gibi phpinfo() işlevini kullanarak basit bir PHP bilgi sayfası oluşturarak seçeneğin PHP ortamınızda devre dışı bırakılıp bırakılmadığını kontrol edebilirsiniz.

PHP ortamınızın ayarlarında allow_furl_open özelliğini devre dışı bırakarak bir dosya dahil etme saldırısını engelleyebilirsiniz.

WordPress Güvenlik Başlıklarını Uygulayın

İçerik Güvenliği Politikası (CSP) ve Set-Cookie gibi HTTP yanıt başlıkları, WordPress web sitenize dosya dahil etme ve diğer enjeksiyon saldırılarına karşı bir savunma katmanı ekleyebilir.

WordPress güvenlik başlıkları, güvenilir kaynakların, komut dosyalarının ve yüklenebilecek diğer içeriklerin bir listesini yaparak uzaktan dosya dahil etme ve siteler arası komut dosyası çalıştırma (XSS) saldırılarının meydana gelebileceği vektörleri azaltmayı veya engellemeyi mümkün kılar. Diğer tüm kaynaklar reddedilecektir. Bunun da ötesinde, HTTP yanıt üstbilgileri, siteler arası istek sahteciliğine (CSRF) ve tıklama hırsızlığına karşı koruma eklemenize yardımcı olabilir.

iThemes Security Pro ile WordPress Sitenizi Enjeksiyon Saldırılarına Karşı Koruyun

SQL ve komut enjeksiyonlarının yanı sıra, dosya dahil etme saldırıları, WordPress sitelerinin güvenliğini hedefleyen en yaygın saldırı vektörlerini oluşturur. WordPress yüksek düzeyde uygulama güvenliği sağlasa da, zayıf güvenlik uygulamalarıyla birleşen yüksek düzeyde özelleştirilmiş siteler, bir WordPress web sitesini giriş güvenlik açıklarından yararlanan enjeksiyon saldırılarına maruz bırakabilir.

Her gün, artan WordPress eklentileri ve temaları popülasyonunda yeni güvenlik açıkları bulunur. Genellikle hızlı bir şekilde yamalanırken, zamanında güncelleme eksikliği ve eski yazılıma güvenme, WordPress web sitenizi bilgisayar korsanları için kolay bir hedef haline getirebilir. Bugün, web sitesi güvenliği her zamankinden daha kritik. Artan siber saldırı sayısı, en dikkatli web sitesi sahiplerinin bile, sitelerini korumak için proaktif önlemler almazlarsa bilgisayar korsanlarının kurbanı olabileceği anlamına gelir.

iThemes Security Pro, web sitenizi en karmaşık siber saldırılara karşı korumak için en iyi WordPress güvenlik uygulamalarını benimsemenizi sağlayan güçlü bir WordPress güvenlik çözümüdür. Gelişmiş dosya bütünlüğü izleme, güvenlik açığı taraması ve otomatik saldırı azaltma ile iThemes Security Pro, WordPress sitenizi korumanın etkili ve güvenilir bir yolunu arıyorsanız mükemmel bir seçimdir.