Cross-site scripting/tr

Siteler arası betik oluşturma, XSS veya rastgele JavaScript enjeksiyonu, web uygulamalarında genellikle saldırganların enjekte etmesini sağlayan bir tür bilgisayar güvenlik açığıdır istemci tarafı betik diğer kullanıcılar tarafından görüntülenen Web sayfalardır.

İstemci tarafında siteler arası komut dosyası oluşturma ve nasıl önleneceği hakkında bilgi için DOM-based XSS sayfasına bakın.

Örnekler
Siteler arası betik oluşturma örnekleri:


 * Saldırgan, kimliği doğrulanmış bir kullanıcıyı, özel hazırlanmış bir URL'yi veya denetledikleri bir web sitesini, onları hazırlanmış URL'ye yönlendirebilecek bir web sitesini ziyaret etmeye yönlendirir.
 * URL, web uygulamanızı gösterir ve sorgu dizesine JavaScript ekler. Web uygulaması, zayıf çıkış nedeniyle, rastgele JavaScript'i kullanıcıya gösterilen sayfaya enjekte eder.
 * JavaScript, kullanıcının çerezlerine tam erişim ile çalışır. Sayfayı herhangi bir şekilde değiştirebilir ve kullanıcı adına form gönderebilir. Riskler, özellikle mağdur özel ayrıcalıklara sahip bir yönetici ise şiddetlidir.

Daha fazla örnek için Vikipedi'de istismar örnekleri sayfasına bakın.

Örnek:

Saldırgan, kurbanı aşağıdaki gibi bir URL'ye gönderir:

POST istekleri, site dışında JavaScript kullanarak da savunmasızdır.

Mağdurların etkilenecek sayfayı doğrudan ziyaret etmeleri bile gerekmez. Kötü amaçlı 3. taraf web siteleri, bir web sitesini ziyaret ederken bir kullanıcıya saldırmak için gizli iframe'leri hazırlanmış URL'lere yerleştirebilir. Ayrıca, kısa URL hizmetleri kullanarak veya URL'yi başka bir URL gibi gizleyerek kötü amaçlı veya hazırlanmış bir URL'yi ziyaret etmek için kandırılabilirler.

Siteler arası betiğini durdurma
Siteler arası betik oluşturmayı önlemek için aşağıdakileri yapın:


 * Girişinizi doğrulayın
 * Çıkışına kaçın

Doğrulamayı atlayabilirsiniz, ancak kaçmayı asla atlayamazsınız. Her şeyden kaç.

Kaçışın doğrulama ile gereksiz olup olmadığı önemli değildir, performans maliyeti, güvenli bir web uygulaması karşılığında ödenecek küçük bir fiyattır. Girişin güvenilir bir kaynaktan gelmesi önemli değildir, o zaman bile kaçmak gereklidir, çünkü kaçmak size güvenlik yanı sıra doğruluk verir.

İncelemenin kolayca yapıldığını doğrulayabilmesi için çıkışa olabildiğince yakın kaçın. Kendi kodunuzu da doğrulamanıza yardımcı olur.

Çıkış kodlaması (çıkış) bağlama duyarlıdır. Bu nedenle, amaçlanan çıkış içeriğinin farkında olun ve uygun şekilde kodlayın (ör. HTML varlığı, URL, JavaScript vb.)

OWASP Kısaltılmış XSS Önleme Hile Sayfası, XSS sorunlarını azaltmak için kullanışlı ve güncel bir hızlı başvuru kılavuzudur.

Bütün bunlar metin tabanlı değişim biçimi için geçerlidir. Web uygulamalarının çoğunu oluşturma eğilimi gösterdiği ve güvenlik sorunları özellikle ciddi olduğu için HTML üzerinde yoğunlaşıyoruz. Her metin biçiminin iyi çalışılmış bir kaçış işlevi olmalıdır.

İşte siteniz için HTML çıkışını yapan bazı kullanışlı işlevler.

MediaWiki kaçış çıkışı
MediaWiki'nin çıktınızdan dolaylı olarak kaçan zarif dahili arayüzleri de vardır. 'anahtar' => 'değer' koşullarının sözdizimini kullanan SQL için değerler örtük olarak kaçar. Ve Html:: ve Xml:: arayüz yöntemleri özniteliklerden kaçar ve kullanılan yönteme bağlı olarak bir metin değerinden de kaçabilir.

Dış bağlantılar

 * Kaçış, w3.org. Kaçmanın çok iyi yazılı tanımı.