Ana SayfaBlogHakkımdaİletişim

Extensible HTML, URL, and HTTP Header Encoding

02.01.2010 16:53

Adres çubuğunda QueryString ile dğer taşınırken boşluk karakterinin %20 gibi bir ifadeye encode edildiğini farketmişizdir. Bu ve benzeri encode ve decode işlemleri temel gereksinimi güvenlik kaynaklı ihtiyaçlardan kaynaklanmaktadır. Örneğin istemci tarafında çalıştırılabilir bir kod olan JavaScript kodunu kullanıcıdan herhangi bir kontrole tabi tutmadan alıp veritabanında saklar ve tekrar istemciye gönderirsek <script>location.href = ‘http://www.foo.com’</script> gibi bir ifade sitemizin foo.com a yönlenmesine sebebiyet verecektir.

 

Basit bir XSS atağı olan bu yöntemi engellemek için farklı encoding mevcut encoding işlemleri yeterli olacaktır. Ancak şirket politikası olarak kengi encoding stratejinizi uygulama yoluna gitmek istiyorsanız ASP.NET 4.0 da bu artık mümkün. System.Web.Util.HttpEncoder sınıfından miraz alarak oluşturacağınız yeni encoder stratejinizi web.config te bulunan httpRuntime elemtninin encoderType özelliğinde belirtmeniz yeterli olacaktır.


<httpRuntime encoderType="Samples.MyCustomEncoder, Samples"  />


Takımınızın bir bölümü kişiselleştirilmiş encode sınıfı nı geliştirirken diğer takım üyeleri alışkanlıklarını bozmayıp klasik Encode fonksiyonlarını kullanmaya devam edebilmektedirler.  Tüm encode ve decode istekleri kişiselleştirilmiş sınıfınıza gönderilecektir.

Bu yazı 243 kere okundu.

Yorumlar

Yorum Ekle

sen dinliyorum ??

Ad Soyad ( kimlik arayışındaki ergenler nick girebilir )

Web Site ( http ile başlayan ! )

E-posta ( spam ve reklam göndermek için )

Yorum ( XSS atack scriptleri eklenecek alan )

Blog yazılarına geri dön