FriendFeed - Kerem ÇELİKER

8.21.2009

Cross Site Scripting Attack Yapısını Anlamak ve Korunmak

Günümüzde Web Uygulamaları artık hem görsel hemde içerik olarak oldukça zengin beslemelerle bizlere sunulmaktadır. Fakat her gün biz bu dinamik içerikli sitelerle eğlenirken ve vaktinizi geçirirken, kötü niyeti saldırı yapanlar sizlerin login içerikli bazı bilgilerinize ulaşarak, hem sitelerin hemde sizlerin kişisel bilgi güvenliğini tehdit etmektedir.

Ama tabiki her güzelin bir kusuru vardır... Peki Bu söz edilen kusur nedir ?

Tek bir site veya diğer sitelerle birlikte üzerlerinde komut dosyası çalıştırmaya "Cross Site Scripting" denilmektedir. Günümüzde bu isim "XSS Attack" ismiyle de beraber kullanılmaktadır.

Hazırlık Aşaması ;

Saldıran kişiler, öncelikle sitenin Header dediğimiz bilgilerine bakarak gerekli bilgilere ulaşırlar. Ardından sitenin HTML,PHP,ASP veya farklı tabanlı bir sayfaya mı saldırı yapacağına karar verir. Arkasından "URL" tabanı girdileri ve source kodları ile karşılaştırarak ve bunları kullanarak sitede öncelikle bu tip bir açık olduğuna bakmaktadır. Bu Açıkları bulmak içinde tabanında HTML ile beraber JavaScript 'i kullanırlar.Bu saldırıları nasıl yaptıklarını kısa örneklerle yazımın devamında bulacaksınız.


Bilgilere Ulaşım ;

Bu bölümde saldırganlar artık heryerde sıklıkla kullanılan PHP tabanlı sitenin bilerine ve Cookie'lerine erişmeye çalışsınlar.İlk aşamada yapmış oldukları çalışmalarda kilit unsur olan kodları artırarak denemeye devam ederler. Bu denemeler sonunda açık bulunan uygulamanın ve sitenin genelde önce cookie'lerini sonrada PHPSID(ID) denilen Kullanıların Siteye giriş yaptıktan sonra kendisine atanmış bir nevi benzetme yaparsak site kimlikleri ele geçirirler. Bu bilgilere ulaştıktan sonra artık yapıcak tek bir adım kalır ki o da zaten saldırmak...


Saldırı Aşaması :

Kişi artık yaptığı çalışmanın karşılığını almış ve saldırıyı ya kendisine fayda sağlamak yada sırf eğlence olsun diye yapacaktır.Artık Edinmiş olduğu PHPSID'leri ve Cookie bilgierini kullanarak kullanıcının giriş yaparak kullandığı oturumu çalarak O sitedeki kişiye ait tüm bilgileri öğrenir ve siteyi yasadığı işler için kullanabilir...


Örnek Uygulamalar #(Saldırı Nasıl Yapılıyor) ;


Yazımın en başınca söylemiş olduğum, bu saldırıların nasıl yapıldığını kısa örneklerle sizlere göstereceğim.Fakat burada göstermiş olduğum örnekleri,sizlerin bir başkasına saldırmanız için değil !! Gelecek saldırının nasıl yapıldığını öğrenerek, savunmanızı nasıl yapmanız gerektiği hakkında bilgilendirmek olacaktır...


SALDIRI ŞEKLİ#1






SALDIRI ŞEKLİ#2






SALDIRI ŞEKLİ#3






SALDIRI ŞEKLİ#4






SALDIRI ŞEKLİ#5






Sizlere 3 aşamada kısaca anlatmış olduğum bu saldırı sıklıkla her gün ve her saat malasasef olmaktadır. Ülkemizde bu saldırı türüne sıklıkla rastlanmakta ve ne yazık ki hiçbir önlem alınmamakta=es geçilmektedir. Yapılan en büyük hata da Uygulamanın yetişmesi ve yayına girmesi için kodlama hatalarıyla beraber, aceleyle online ortama verilmesidir.

Peki bu durumdan korunmak için ne yapılabilir diye soruyorsanız ? Heralde şaka yapıyorsunuz...Bundan korunmak için sayısız yapılması gereken adım bulunmakta ve hergün çıkan yeni açıkları kontrol ederek en baştan yazdığınız tüm kodlamaları gözden geçirerek Secure Coding'e uyarlamanız gerekmektedir.

Fakat sizlere "Cross Site Scripting (XSS)" saldırılarından korunmanız için sağlam ve güzel bir adım olan Anti Cross Site Scripting yazılarını okumanızı öneriyorum. Bununla ilgili içinde geniş anlatımları ve örnekleri olan korunma yollarını anlatan aşağıdaki "Microsoft Anti-Cross Site Scripting" yazısını edinerek okuyabilirsiniz.Burada Microsoft'un yazdığı korunma yöntemlerini önermemin sebebi de ; Online ortamda bulunan uygulamaların büyük çoğunluğunu Microsoft tabanı ile yazılmış ve geliştirilmiş Uygulamalar oluşturmaktadır.


Microsoft Anti-Cross Site Scripting Library V3.0



Unutmamanız gereken de yukarda verdiğim örneklerin dışında saldırgan alışa gelmişin de dışında farklı birçok deneme yapabilir ve yapıcaktırda...Yani "Her yiğidin farklı bir yoğurt yemesi vardır...

Bunu bir başlangıç saymanız ve devamanı getirmeniz içtenlğiyle...


Kerem ÇELİKER


Not: Gelecek Yazılarımla "SQL Injection" Saldırılarının nasıl yapıldığını ve korunma yöntemleri ile ilgili bilgiler vericem. Ayrıca farklı saldırıların nasıl yapıldığı ve korunmanız için dikkat etmeniz gerekenler diye sırayabiliriz şimdilik...