- 17 Eyl 2023
- 1,349
- 624
Merhabalar Ben LordSUCCESS, Bugünki konumuz XSS (Cross-Site Scripting) zafiyeti
XSS (Cross-Site Scripting) Nedir
XSS saldırısı (Cross-Site Scripting) yani siteler arası komut dosyası çalıştırma saldırısı, bir bilgisayar korsanının, iyi huylu ve güvenilir olarak görülen bir web sayfasının içeriğine, genellikle istemci tarafı komut dosyası biçiminde kötü amaçlı kod enjekte etmesiyle oluşur. Kötü amaçlı komut dosyası genellikle, JavaScript ve HTML olan istemci tarafı programlama dillerinde yazılır.
XSS (Cross-Site Scripting) Saldırı Türleri Neler
DOM XSS: DOM tabanlı bir XSS saldırı stratejisinde, bilgisayar korsanı, orijinal istemci komut dosyasının çalıştığı kurbanın tarayıcısında belge nesne modelini (DOM) değiştirerek yükü enjekte eder. Sayfa değişmez, ancak sayfada bulunan istemci tarafı kodu, kötü amaçlı kod değişiklikleriyle çalışır.
Reflected XSS: Kalıcı olmayan XSS olarak da bilinen reflected XSS siber saldırısında, bilgisayar korsanları kötü amaçlı komut dosyasını doğrudan bir HTTP isteğine enjekte eder. Ardından, web sunucusundan yürütüldüğü kullanıcının tarayıcısına yansıtır. Bilgisayar korsanı sıklıkla hedeflenen kişilere, onları savunmasız bir sayfaya getiren özelleştirilmiş bağlantılar gönderir, Reflected XSS saldırıları kalıcı değildir. Bir kullanıcı kötü niyetli bir bağlantıyı tıkladığında, özel olarak hazırlanmış bir formun göndermesi veya kötü niyetli bir siteye göz atması için kandırıldığında, enjekte edilen kod savunmasız web sitesine gider. Web sunucusu, sırayla, enjekte edilen komut dosyasını kullanıcının tarayıcısına döndürür veya yansıtır. Bu aldatma, bir hata mesajında, arama sonucunda veya isteğin bir parçası olarak sunucuya gönderilen verileri içeren başka bir yanıt türünde olabilir. Tarayıcı, yanıtın, kullanıcının zaten etkileşimde bulunduğu “güvenilir” bir sunucudan geldiğini varsaydığı için kodu yürütür.
Stored XSS: Bilgisayar korsanları yüklerini güvenliği ihlal edilmiş bir sunucuda depoladığında saldırılar gerçekleşir. Genellikle zarar veren bir XSS saldırı yöntemidir. Saldırgan, yüklerini hedef uygulamaya enjekte etmek için bu yaklaşımı kullanır. Uygulamanın giriş doğrulaması yoksa, kötü amaçlı kod, uygulama tarafından veri tabanı gibi bir konumda kalıcı olarak depolanır veya kalıcı olur. Pratikte bu, saldırganın bir blog veya forum gönderisindeki yorum bölümleri gibi kullanıcı giriş alanlarına kötü amaçlı bir komut dosyası girmesine olanak tanır, Saldırganın yükü, virüslü sayfayı açtığında, tarayıcısında meşru bir yorumun görünmesiyle aynı şekilde, kullanıcının tarayıcısına sunulur. Hedeflenen kişiler, sayfayı tarayıcılarında görüntülediklerinde yanlışlıkla kötü amaçlı komut dosyasını yürütürler.
Biz bu örnekte DOM XSS'i göreceğiz
Evet, URL'deki bu parametre, sayfada yazdırılacak ve potansiyel olarak XSS zafiyeti oluşturabilecek bir etkileşim noktası sunuyor, Eğer JavaScript kodu ekler ve bu kod çalışırsa, XSS zafiyetinin varlığından söz edebiliriz.
Evet, Zafiyetin mevcut olduğunu göz önünde bulundurarak, artık istediğimizi yapabiliriz.
XSS Zafiyeti Nasıl Önlenir
Biz bu örnekte DOM XSS'i göreceğiz
Evet, URL'deki bu parametre, sayfada yazdırılacak ve potansiyel olarak XSS zafiyeti oluşturabilecek bir etkileşim noktası sunuyor, Eğer JavaScript kodu ekler ve bu kod çalışırsa, XSS zafiyetinin varlığından söz edebiliriz.
Evet, Zafiyetin mevcut olduğunu göz önünde bulundurarak, artık istediğimizi yapabiliriz.
XSS Zafiyeti Nasıl Önlenir
- Giriş Doğrulaması ve Veri Doğrulaması: Kullanıcı girişleri ve diğer girdiler, beklenen veri türleri ve formatlara göre kontrol edilir. Bu, zararlı kodların enjekte edilmesini önler.
- Çıktı Kodlama: Web uygulaması tarafından üretilen tüm çıktılar, tarayıcıda çalıştırılabilir kod içermemesi için uygun şekilde kodlanır. Örneğin, HTML içeriği içeren kullanıcı girişleri <script> etiketleriyle işaretlenmeden önce kaçış dizileriyle dönüştürülür.
- HTTP Başlıkları: Çerezler ve diğer HTTP başlıkları, güvenilir kaynaklardan gelen verilerle doldurulmalı ve güvenli bir şekilde işlenmelidir.
- İzin Verilen Liste Yaklaşımı: İzin verilen bir liste yaklaşımı kullanılarak, tarayıcıya yalnızca belirli kaynaklardan veya belirli alanlardan gelen içeriklerin yüklenmesine izin verilir. Bu, tarayıcıya güvenilmeyen kaynaklardan gelen içeriklerin yüklenmesini önler.
- Güvenlik Duvarları (Web Application Firewalls): Web uygulamalarına zararlı isteklerin engellenmesine yardımcı olmak için güvenlik duvarları kullanılabilir. Bu, potansiyel XSS saldırılarını algılamak ve önlemek için bir ek katman sağlar.
Kullandığım Dosya;
İndirme Linki: Tıkla Ve İndir
VirusTotal: Tıkla Ve Gör
Okuyan Herkese Teşekkür Ederim