Merhabalar Ben @bypatnos Lojistik grup adına paylaşılan Yeni Başlayanlar İçin Siteler Arası Komut Dosyası (XSS) makalesinde sizi görmekten mutluk duyarım.
Bu blog yazısında, Cross Site Scripting (XSS) hakkında bilgi edineceksiniz. Cross-Site Scripting (XSS) saldırıları, günümüzde en yaygın web uygulaması güvenlik tehditlerinden biridir. Bu saldırılar, saldırganların hassas verileri çalmasına, sistemlere yetkisiz erişim elde etmesine ve tüm ağları tehlikeye atmasına olanak tanıyabilir. Bu blog yazısında, XSS saldırılarının ne olduğunu, farklı türlerini ve bunların nasıl önleneceğini inceleyeceğiz. Bu makalede, Cross Site Scripting'in ne olduğunu, nasıl çalıştığını, saldırı türlerini, XSS'in nasıl önleneceğini ve tespit edileceğini ele alacağız.
Cross Site Scripting Nedir?
Siteler Arası Komut Dosyası (XSS), saldırganların diğer kullanıcılar tarafından görüntülenen web sayfalarına kötü amaçlı kod enjekte etmesine olanak tanıyan bir güvenlik açığı türüdür. Kötü amaçlı kod genellikle JavaScript gibi istemci tarafı komut dosyası dillerinde yazılır ve kurbanın web tarayıcısı tarafından enfekte sayfayı görüntülediğinde yürütülür. Enjekte edilen kod daha sonra oturum açma kimlik bilgileri veya kredi kartı bilgileri gibi hassas verileri çalmak veya oturumu ele geçirme veya kötü amaçlı yazılım yükleme gibi daha gelişmiş saldırılar başlatmak için kullanılabilir.
XSS Nasıl Çalışır?
XSS Türleri
Üç temel XSS saldırısı türü vardır: Depolanmış (Kalıcı) XSS, Yansıyan (Kalıcı Olmayan) XSS ve DOM Tabanlı XSS. Her bir türe daha yakından bakalım.
1. Saklanan (Kalıcı) XSS:
Depolanmış XSS saldırıları, kötü amaçlı kodun bir web sitesinin veritabanına enjekte edildiği ve ardından enfekte sayfayı görüntüleyen diğer kullanıcılar tarafından alınıp yürütüldüğü bir XSS saldırısı türüdür. Bu tür saldırılar özellikle tehlikelidir çünkü kötü amaçlı kod web sitesinde uzun süre depolanabilir ve birden fazla kullanıcıyı enfekte edebilir.
Stored XSS saldırısının tipik bir örneği, bir kullanıcının kötü amaçlı kod içeren bir forum veya bloga mesaj göndermesidir. Kod daha sonra web sitesinin veritabanında saklanır ve sayfaya gelen sonraki tüm ziyaretçilere gösterilir, bu da potansiyel olarak sistemlerini tehlikeye atar.
2. Yansıyan (Kalıcı Olmayan) XSS :
Yansıyan XSS saldırıları, kötü amaçlı kodun bir web sitesinin arama alanına, yorum kutusuna veya diğer giriş alanına enjekte edildiği ve ardından web sitesinin yanıtında kullanıcıya geri yansıtıldığı bir XSS saldırısı türüdür. Bu tür saldırı, kullanıcının enjekte edilen kodu içeren bir bağlantıya tıklamasına dayanır ve ardından kötü amaçlı betiği tarayıcısında çalıştırır.
Yansıyan XSS'in yaygın bir örneği, bir saldırganın kurbana enjekte edilen kodu içeren bir bağlantı içeren bir kimlik avı e-postası göndermesidir . Kurban bağlantıya tıkladığında, kod web sitesinin yanıtı aracılığıyla kendisine geri yansıtılır ve tarayıcısında yürütülür, bu da potansiyel olarak sistemlerini tehlikeye atar.
3. DOM Tabanlı XSS :
DOM Tabanlı XSS, kötü amaçlı kodun sunucunun yanıtı yerine bir web sitesinin Belge Nesne Modeli'ne (DOM) enjekte edildiği bir XSS saldırısı türüdür. Enjekte edilen kod daha sonra enfekte sayfa yüklendiğinde kurbanın tarayıcısı tarafından yürütülür.
XSS'in Gerçek Dünya Örnekleri
1. İngiliz Hava Yolları:
2018'de British Airways, çapraz site betikleme nedeniyle bir veri ihlali yaşadı. Kart kopyalama yazısıyla bilinen bir hacker grubu olan Magecart, feedify olarak bilinen Java betik kitaplığındaki çapraz site betikleme zaafiyetinden yararlandı. Bu Java betik kitaplığı, müşteri verilerini kaydetmek ve Saldırganlar tarafından kontrol edilen sunucuya göndermek için değiştirildi, bunu kullanan saldırganlar 3.80.000'den fazla kredi kartı ayrıntısı topladı.
2. eBay :
eBay, 2015'in sonunda kısa bir süreliğine kodunda bir XSS güvenlik açığına sahipti. EBay, kullanıcıları doğru sayfaya yönlendirmek için bir "URL" parametresi kullandı. Ancak, bu URL parametresine gönderilen değer, web sayfasına eklenmeden önce doğrulanmadı. Doğru saldırganın elinde bu, saldırganın web sayfasına kötü amaçlı kod enjekte etmesine izin verebilirdi. Neyse ki bu olmadı.
Azaltma ve Önleme
XSS saldırılarını önlemek bir dizi teknik önlem ve en iyi uygulamaları içerir. En etkili stratejilerden bazıları şunlardır:
1. Giriş Doğrulaması:
XSS saldırılarını önlemek için en kritik önlemlerden biri girdi doğrulamasıdır. Bu, yalnızca güvenli ve beklenen karakterlere izin verildiğinden emin olmak için kullanıcı girdisini filtrelemeyi ve temizlemeyi içerir. Bu, düzenli ifadeler, girdi maskeleri ve beyaz listeleme dahil olmak üzere bir dizi yöntem kullanılarak gerçekleştirilebilir.
2. Çıktı Kodlaması :
XSS saldırılarını önlemek için bir diğer kritik önlem çıktı kodlamasıdır. Bu, kötü amaçlı kodun sayfaya enjekte edilmesini önlemek için web uygulamasından gelen tüm çıktıların kodlanmasını içerir. Bu, HTML kodlaması, URL kodlaması ve JavaScript kodlaması dahil olmak üzere bir dizi yöntem kullanılarak gerçekleştirilebilir.
3. İçerik Güvenlik Politikası (CSP) :
İçerik Güvenlik Politikası (CSP), geliştiricilerin web uygulamaları tarafından yüklenmesine izin verilen içerik kaynaklarını tanımlamalarına olanak tanıyan bir güvenlik standardıdır. Geliştiriciler bir CSP tanımlayarak kötü amaçlı betiklerin web sayfalarında yürütülmesini önleyebilir ve böylece XSS saldırıları riskini azaltabilirler. CSP, betikler, stil sayfaları ve resimler gibi içerik için güvenilir kaynakların bir beyaz listesini belirleyerek çalışır. Güvenilir bir kaynaktan olmayan herhangi bir içerik tarayıcı tarafından engellenir ve sayfada yürütülmesi engellenir.
4. İstemci Tarafı Komut Dosyası Kullanımının Sınırlandırılması :
XSS saldırılarını önlemek için bir diğer etkili önlem, JavaScript gibi istemci tarafı betik dillerinin kullanımını sınırlamaktır. Bu, dinamik içerik oluşturmak için PHP veya ASP.NET gibi sunucu tarafı betik dilleri kullanılarak gerçekleştirilebilir. Geliştiriciler, istemci tarafı betik kullanımını sınırlayarak web uygulamalarının saldırı yüzeyini küçültebilir ve XSS saldırıları riskini en aza indirebilirler.
5. Yalnızca HTTP Çerezlerinin Kullanımı:
Yalnızca HTTP çerezleri, JavaScript gibi istemci tarafı betik dillerinin bunlara erişmesini engelleyen bir çerez türüdür. Geliştiriciler yalnızca HTTP çerezlerini kullanarak çerezlerde depolanan hassas bilgilerin saldırganlar tarafından XSS saldırıları yoluyla erişilmesini önleyebilir. Bu, oturum ele geçirme ve oturum çerezlerini çalmaya dayanan diğer saldırı türlerini önlemeye yardımcı olabilir.
6. Yazılımın Güncel Tutulması :
Son olarak, web sunucuları, çerçeveler ve üçüncü taraf kütüphaneleri de dahil olmak üzere web uygulaması tarafından kullanılan tüm yazılımların güncel tutulması önemlidir. Geliştiriciler, XSS saldırıları riskini azaltmak için güvenlik güncellemelerini ve yamalarını düzenli olarak kontrol etmeli ve bunları derhal uygulamalıdır.
Bu blog yazısında, Cross Site Scripting (XSS) hakkında bilgi edineceksiniz. Cross-Site Scripting (XSS) saldırıları, günümüzde en yaygın web uygulaması güvenlik tehditlerinden biridir. Bu saldırılar, saldırganların hassas verileri çalmasına, sistemlere yetkisiz erişim elde etmesine ve tüm ağları tehlikeye atmasına olanak tanıyabilir. Bu blog yazısında, XSS saldırılarının ne olduğunu, farklı türlerini ve bunların nasıl önleneceğini inceleyeceğiz. Bu makalede, Cross Site Scripting'in ne olduğunu, nasıl çalıştığını, saldırı türlerini, XSS'in nasıl önleneceğini ve tespit edileceğini ele alacağız.
Cross Site Scripting Nedir?
Siteler Arası Komut Dosyası (XSS), saldırganların diğer kullanıcılar tarafından görüntülenen web sayfalarına kötü amaçlı kod enjekte etmesine olanak tanıyan bir güvenlik açığı türüdür. Kötü amaçlı kod genellikle JavaScript gibi istemci tarafı komut dosyası dillerinde yazılır ve kurbanın web tarayıcısı tarafından enfekte sayfayı görüntülediğinde yürütülür. Enjekte edilen kod daha sonra oturum açma kimlik bilgileri veya kredi kartı bilgileri gibi hassas verileri çalmak veya oturumu ele geçirme veya kötü amaçlı yazılım yükleme gibi daha gelişmiş saldırılar başlatmak için kullanılabilir.
XSS Nasıl Çalışır?
XSS Türleri
Üç temel XSS saldırısı türü vardır: Depolanmış (Kalıcı) XSS, Yansıyan (Kalıcı Olmayan) XSS ve DOM Tabanlı XSS. Her bir türe daha yakından bakalım.
1. Saklanan (Kalıcı) XSS:
Depolanmış XSS saldırıları, kötü amaçlı kodun bir web sitesinin veritabanına enjekte edildiği ve ardından enfekte sayfayı görüntüleyen diğer kullanıcılar tarafından alınıp yürütüldüğü bir XSS saldırısı türüdür. Bu tür saldırılar özellikle tehlikelidir çünkü kötü amaçlı kod web sitesinde uzun süre depolanabilir ve birden fazla kullanıcıyı enfekte edebilir.
Stored XSS saldırısının tipik bir örneği, bir kullanıcının kötü amaçlı kod içeren bir forum veya bloga mesaj göndermesidir. Kod daha sonra web sitesinin veritabanında saklanır ve sayfaya gelen sonraki tüm ziyaretçilere gösterilir, bu da potansiyel olarak sistemlerini tehlikeye atar.
2. Yansıyan (Kalıcı Olmayan) XSS :
Yansıyan XSS saldırıları, kötü amaçlı kodun bir web sitesinin arama alanına, yorum kutusuna veya diğer giriş alanına enjekte edildiği ve ardından web sitesinin yanıtında kullanıcıya geri yansıtıldığı bir XSS saldırısı türüdür. Bu tür saldırı, kullanıcının enjekte edilen kodu içeren bir bağlantıya tıklamasına dayanır ve ardından kötü amaçlı betiği tarayıcısında çalıştırır.
Yansıyan XSS'in yaygın bir örneği, bir saldırganın kurbana enjekte edilen kodu içeren bir bağlantı içeren bir kimlik avı e-postası göndermesidir . Kurban bağlantıya tıkladığında, kod web sitesinin yanıtı aracılığıyla kendisine geri yansıtılır ve tarayıcısında yürütülür, bu da potansiyel olarak sistemlerini tehlikeye atar.
3. DOM Tabanlı XSS :
DOM Tabanlı XSS, kötü amaçlı kodun sunucunun yanıtı yerine bir web sitesinin Belge Nesne Modeli'ne (DOM) enjekte edildiği bir XSS saldırısı türüdür. Enjekte edilen kod daha sonra enfekte sayfa yüklendiğinde kurbanın tarayıcısı tarafından yürütülür.
XSS'in Gerçek Dünya Örnekleri
1. İngiliz Hava Yolları:
2018'de British Airways, çapraz site betikleme nedeniyle bir veri ihlali yaşadı. Kart kopyalama yazısıyla bilinen bir hacker grubu olan Magecart, feedify olarak bilinen Java betik kitaplığındaki çapraz site betikleme zaafiyetinden yararlandı. Bu Java betik kitaplığı, müşteri verilerini kaydetmek ve Saldırganlar tarafından kontrol edilen sunucuya göndermek için değiştirildi, bunu kullanan saldırganlar 3.80.000'den fazla kredi kartı ayrıntısı topladı.
2. eBay :
eBay, 2015'in sonunda kısa bir süreliğine kodunda bir XSS güvenlik açığına sahipti. EBay, kullanıcıları doğru sayfaya yönlendirmek için bir "URL" parametresi kullandı. Ancak, bu URL parametresine gönderilen değer, web sayfasına eklenmeden önce doğrulanmadı. Doğru saldırganın elinde bu, saldırganın web sayfasına kötü amaçlı kod enjekte etmesine izin verebilirdi. Neyse ki bu olmadı.
Azaltma ve Önleme
XSS saldırılarını önlemek bir dizi teknik önlem ve en iyi uygulamaları içerir. En etkili stratejilerden bazıları şunlardır:
1. Giriş Doğrulaması:
XSS saldırılarını önlemek için en kritik önlemlerden biri girdi doğrulamasıdır. Bu, yalnızca güvenli ve beklenen karakterlere izin verildiğinden emin olmak için kullanıcı girdisini filtrelemeyi ve temizlemeyi içerir. Bu, düzenli ifadeler, girdi maskeleri ve beyaz listeleme dahil olmak üzere bir dizi yöntem kullanılarak gerçekleştirilebilir.
2. Çıktı Kodlaması :
XSS saldırılarını önlemek için bir diğer kritik önlem çıktı kodlamasıdır. Bu, kötü amaçlı kodun sayfaya enjekte edilmesini önlemek için web uygulamasından gelen tüm çıktıların kodlanmasını içerir. Bu, HTML kodlaması, URL kodlaması ve JavaScript kodlaması dahil olmak üzere bir dizi yöntem kullanılarak gerçekleştirilebilir.
3. İçerik Güvenlik Politikası (CSP) :
İçerik Güvenlik Politikası (CSP), geliştiricilerin web uygulamaları tarafından yüklenmesine izin verilen içerik kaynaklarını tanımlamalarına olanak tanıyan bir güvenlik standardıdır. Geliştiriciler bir CSP tanımlayarak kötü amaçlı betiklerin web sayfalarında yürütülmesini önleyebilir ve böylece XSS saldırıları riskini azaltabilirler. CSP, betikler, stil sayfaları ve resimler gibi içerik için güvenilir kaynakların bir beyaz listesini belirleyerek çalışır. Güvenilir bir kaynaktan olmayan herhangi bir içerik tarayıcı tarafından engellenir ve sayfada yürütülmesi engellenir.
4. İstemci Tarafı Komut Dosyası Kullanımının Sınırlandırılması :
XSS saldırılarını önlemek için bir diğer etkili önlem, JavaScript gibi istemci tarafı betik dillerinin kullanımını sınırlamaktır. Bu, dinamik içerik oluşturmak için PHP veya ASP.NET gibi sunucu tarafı betik dilleri kullanılarak gerçekleştirilebilir. Geliştiriciler, istemci tarafı betik kullanımını sınırlayarak web uygulamalarının saldırı yüzeyini küçültebilir ve XSS saldırıları riskini en aza indirebilirler.
5. Yalnızca HTTP Çerezlerinin Kullanımı:
Yalnızca HTTP çerezleri, JavaScript gibi istemci tarafı betik dillerinin bunlara erişmesini engelleyen bir çerez türüdür. Geliştiriciler yalnızca HTTP çerezlerini kullanarak çerezlerde depolanan hassas bilgilerin saldırganlar tarafından XSS saldırıları yoluyla erişilmesini önleyebilir. Bu, oturum ele geçirme ve oturum çerezlerini çalmaya dayanan diğer saldırı türlerini önlemeye yardımcı olabilir.
6. Yazılımın Güncel Tutulması :
Son olarak, web sunucuları, çerçeveler ve üçüncü taraf kütüphaneleri de dahil olmak üzere web uygulaması tarafından kullanılan tüm yazılımların güncel tutulması önemlidir. Geliştiriciler, XSS saldırıları riskini azaltmak için güvenlik güncellemelerini ve yamalarını düzenli olarak kontrol etmeli ve bunları derhal uygulamalıdır.
LOJİSTİK TİM SUNDU
Son düzenleme:




