sayfalara eklenmesine izin verecektir. Bunun klasik örneği sitelerin arama bölümleri: Eğer bazı özel HTML karakterlerini de içeren karakter dizisini aratırsak, karşımıza neyi aradığımızıgösteren bir sonuç çıkacaktır. Eğer tüm arama kriterlerimiz veya karakterlerimiz; HTMLkodlama ile görüntülenmezse, XSS açığı vardır diyebiliriz.İlk bakışta, eğer kullanıcılar kendi sayfalarına sadece kod ekleyebiliyorlarsa, bu ciddi bir problem değildir diye düşünebiliriz. Fakat, basit bir sosyal mühendislik metoduylasaldırgan kurbana bir link gönderir. Bu link sonuç sayfasına kodlar enjekte edilmiş zararlı bir linktir ve saldırganın sayfadaki tüm içeriğe erişebilmesine olanak sağlar. Bu durumdakullanılması gereken sosyal mühendislik metodlarının genel gereksinimleri sebebiyle, bir çok programcı bu açıklara pek önem vermemiştir. Bu önemsenmeyen açıklardan biri de XSS’dir ve XSS’nin önemiyle ilgili hep anlaşmazlıklar olmuştur. XSS açığının önemini göstermek içinen basit yol, DoS ataklarıdır. Bazı durumlarda aşağıdaki yöntem kullanılarak server üzerindeDoS atağı gerçekleştirilebilir.article.php?title=<meta%20http-equiv="refresh"%20content="0;">Bu kod, hedef sayfa üzerinde her 0.3 saniyede bir sayfanın yenilenmesi isteğinigönderecektir. Bu sınırsız yenilenme isteklerinin meydana getirdiği flood sebebiyle, websayfasının ve veri tabanı serverının işlemesi duracaktır. Daha fazla tarayıcı oturumununolması bu saldırının şiddetini artıracaktır.DOM-Tabanlı XSS problemi
ise, bir sayfanın client-side(istemci tabanlı örn: tarayıcıkullanarak) scriptinde kendiliğinden olur. Elimizdeki bir javascript, herhangi bir bağlantı(link)istek parametresine(Örn: rss feed) erişirse ve kendi sayfasına bazı HTML kodları yazmasınısağlamak için bu bilgileri kullanırsa; bu bilgiler HTML kullanılarak kodlanmaz. Öncedenyazılmış olan bu veri ve buna ek olarak bazı istemci tabanlı scriptler de içerebilen HTMLkodu olarak tarayıcı tarafından yeniden yorumlanır. Bu açık türü, Yansıtılmış XSS açığına çok benzeyebilir; fakat bir önemli durum hariç:Örneğin, eğer açığı olan bir siteye ait link içeren zararlı bir siteye sahip olan saldırgan,script enjekte edebilir ve bu script kullanıcının tarayıcısında çalıştırılabilir. Bu olay, XSSexploitleriyle normalde zaten bypassa uğrayan çapraz domain sınırlaması da dahil, tümistemci tabanlı kodları bypass edecektir.Bu enjeksiyonların birçok metodu vardır. Basit sitelerdeki kullanımının dışında bir organizasyonu nasıl etkilediğini gösteren bir örnek verecek olursak, BlackHat Amerika 2006da Jeremiah Grossman tarafından gösterilen olayı söyleyebiliriz. Bu ispatlama yapılırkençeşitli bloglara, gazetelere veya web sayfaların yorum kısmına depolanmış XSS scripti içerenkodlar gönderilmiştir ve bu zararlı kodların bulunduğu sayfaları ziyaret eden kullanıcılarınağları belirli açıklara karşı taranabilmiş ve loglanmıştır.Black Box testi ve örnek:XSS açığını test etmenin yolu; bir uygulamanın veya web serverın, herhangi bir tarayıcı tarafından çalıştırılabilen basit scriptler içeren isteklere karşı vereceği cevabıdoğrulamakla olur. Örneğin Sambar Server v5.3, XSS açığının bilindiği çok popüler ücretsiz bir web serverdır. Servera aşağıdaki gibi bir istek gönderirsek, tarayıcı tarafından çalıştırılan bir server cevabı alırız.http://server/cgi-bin/testcgi.exe?<SCRIPT>alert(“Cookie”+document.cookie)</SCRIPT>
Add a Comment