Siteler Arası Komut Dosyası Çalıştırma Nedir?

Web sitelerinde en yaygın güvenlik açığı sınıflarından biri "Siteler Arası Komut Dosyası Oluşturma" veya "XSS" olarak adlandırılır. XSS güvenlik açıkları, bir kullanıcının JavaScript'in yürütülmesine neden olmasının mümkün olduğu yerlerdir. XSS güvenlik açığının, değişen derecelerde önem derecesine sahip bir dizi farklı çeşidi vardır.

Saldırganın diğer kullanıcıların oturumlarında JavaScript çalıştırabilmesindeki sorun, saldırganın web sitesinde kurbanların gördüğü her şeyi yapmasının mümkün olmasıdır. Bu, kurbanları harici web sitelerine yönlendirmeyi, kimlik doğrulama belirteçlerini çalmayı ve ödeme ayrıntılarını izlemeyi içerir.

XSS güvenlik açığının en ciddi biçimi "Depolanmış" veya "Kalıcı" Siteler Arası Komut Dosyası Çalıştırma'dır. bir saldırganın bir XSS yükü oluşturması ve ardından bunu göndermesi mümkündür, böylece veri tabanına kaydedilir. Veritabanına kaydedilen bir XSS istismarıyla, diğer kullanıcıları geniş bir zaman diliminde etkilemesi mümkündür.

Siteler Arası Komut Dosyasının başka bir biçimi “Yansıyan”dır, bu tür hiçbir noktada kaydedilmez, bunun yerine yük tarayıcıya dahil edilir. Tipik olarak, bu tür XSS, bir saldırganın bir kurbanı kötü niyetli bir bağlantıya tıklaması için kandırmaya çalıştığı kimlik avı saldırılarının bir parçasıdır.

Genel olarak, çoğu XSS saldırısının yükü bir noktada sunucuya gönderilir, ancak bazı saldırılar tamamen istemci tarafı, asla sunucuya gönderilmez ve bunun yerine yalnızca istemci tarafını etkiler JavaScript. Bu, JavaScript Belge Nesne Modeli veya DOM'da kaldığı için DOM tabanlı XSS ​​olarak adlandırılır. Bu tür bir güvenlik açığının tanımlanması ve çözülmesi özellikle zordur, çünkü açıklardan yararlanmalar sunucu tarafından asla görülmez ve bu nedenle günlüğe kaydedilemez.

Tarihsel olarak, XSS güvenlik açıklarına karşı önleme tekniği, JavaScript'te anlamlı karakterler veya kelimeler içeren mesajları reddetmek için engelleme listelerini kullanarak, kullanıcı tarafından gönderilen tüm verileri filtrelemektir. Bu, filtre için baypas bulma konusunda bir silahlanma yarışına yol açarken, aynı zamanda bazı meşru kullanıcı gönderimlerini de engelledi. Doğru çözüm, kullanıcı tarafından gönderilen verileri kodlamak için HTML varlıklarını kullanmaktır. HTML varlık modülleri etkinleştirildiğinde, karakterler otomatik olarak tarayıcının onları doğru semboller olarak göstermeyi bildiği ancak kod olarak ele almadığı bir biçime kodlanır.