6.2. Yetkilendirme Zafiyeti
(Authorization Vulnerability)
Yetkilendirme zafiyetleri, bir web sitesinin kullanıcı,
servis veya uygulamanın istenen bir işlemi
gerçekleştirmesi için gereken izinleri belirlemek için
kullanılan yöntemlerin istismar edilmesini hedef alan
saldırılardan etkilenmektedir. Yetkilendirme
tehditlerini, oturum bilgisi tahmin etme, yetersiz
yetkilendirme, yetersiz oturum sonlandırma, oturum
sabitleme olmak üzere farklı gruplarda sınıflandırmak
mümkündür.
6.3. Siteler Arası Kod Yazma
(Cross Site Script)
Siteler arası kod yazma yöntemiyle yapılan saldırılar,
kullanıcı ile web sitesi arasındaki güven ilişkisi
istismar edilerek, web sitesinin saldırgan tarafından
belirlenen çalıştırılabilir kodu kullanıcıya göndermesi
ve bu kodun kullanıcı web tarayıcısında yüklenerek
çalışmasıyla gerçekleşmektedir. XSS yöntemiyle
yazılan küçük kodlar, HTML kodları arasına enjekte
edildiğinden bazı kaynaklarda bu yöntemin adı
HTML kod enjeksiyonu olarak adlandırılmaktadır.
XSS kodları genellikle HTML/JavaScript dilinde
yazılmaktadır ancak VBScript, ActiveX, Java, Flash
veya web tarayıcılar tarafından desteklenen diğer
dillerde de kodlama yapılabilmektedir [35].
XSS yöntemiyle zararlı kodun kullanıcı web
tarayıcısında çalıştığında, zararlı kod sunucu web
sitesinin tarayıcı için tanımlı olduğu güvenlik ayarları
kapsamında çalışacaktır. Eğer web tarayıcısı üzerinde
herhangi bir kısıtlamaya gidilmemişse zararlı kod
vasıtasıyla tarayıcı tarafından erişilen her türlü hassas
veri okunabilir, değiştirilebilir ve e-posta aracılığıyla
farklı yerlere iletilebilir. XSS yöntemiyle kullanıcı
bilgisayarı üzerindeki oturum çerezleri çalınabilir,
kullanıcının web tarayıcısı başka bir adrese
yönlendirilebilir, web siteleri üzerinde bilgi toplama
amaçlı kodlar çalıştırılabilir, sazan avlama yöntemine
davetiye çıkartılır, web sayfalarının değiştirilmesi
veya hizmet aksattırma saldırılarının yapılmasını
sağlamaktadır. XSS saldırı yöntemi şematik gösterimi
Şekil 6’da verilmiştir.
Şekil 6. XSS yönteminin mantıksal gösterimi
Şekil 6’da görüldüğü gibi XSS yönteminde (1) nolu
adımda kullanıcının şifre ve parolasını kullanarak web
uygulamasına giriş yapması sonucunda (1),
kullanıcıya ait hesap bilgileri çerez formatında
kullanıcı bilgisayarında saklanmak üzere XSS açığı
bulunan uygulama sunucu bilgisayarından kullanıcı
bilgisayarına gönderilmektedir (2). Saldırgan XSS
zafiyetini kullanan URL (Uniform Resource
Locator)’yi sazan e-posta aracılığıyla kurbana
göndererek (3), XSS açığı bulunan web sunucusuna
gitmesini sağlayacak bağlantıya tıklamasını sağlar (4).
XSS açığının bulunduğu sayfanın çağırılmasıyla (5),
XSS saldırısı yapılmasını sağlayacak kod çalıştırılır
(6). XSS kodunun çalıştırılmasıyla kullanıcı
bilgisayarında daha önceden depolanan çerez bilgileri
çalınarak saldırganın denetiminde olan sunucu
bilgisayarına depolanır (7). Çalıntı çerez depolama
sunucusundaki kullanıcı erişim bilgilerinin yer aldığı
çerez saldırgan tarafından kullanılarak web
uygulamasına kurbanın kullanıcı haklarıyla erişir (8).
XSS yöntemleri kalıcı, geçici ve DOM (Document
Object Model) temelli olmak üzere üç farklı
kategoride sınıflandırılmaktadır [36].
Kalıcı olmayan XSS yöntemi, kullanıcının zararlı kod
içeren özel olarak değiştirilmiş linkleri ziyaret
etmesini gerektirir. Link ziyaret edildiğinde, URL
içine gömülü zararlı kod, istemci tarafına gönderilir
ve kod kullanıcının web tarayıcısında çalışır. Kalıcı
olmayan XSS yöntemiyle ilgili örnek Şekil 7’de
gösterilmiştir.
(a)
(b)
Şekil 7. Kalıcı olmayan XSS kodu işlemleri a)
Kodlama, (b)İcra ettirme
Şekil 7(a)’da XSS açığı bulunan bir web sitesinde
arama yapılmasını sağlayan HTML kodları arasına
yerleştirilen XSS kodu web tarayıcısının adres
kısmında kırmızı dikdörtgen içerisinde
gösterilmektedir. Bu şekilde hazırlanan linkin
kullanıcılar tarafından ziyaret edilmesi sağlandığında
XSS yöntemiyle sızma testi Şekil 7(b)’de gösterildiği
gibi başarıyla gerçekleştirilmiş olacaktır.
Kalıcı XSS saldırısı, mesaj panoları, ziyaretçi
defterleri, tartışma forumları, web posta mesajları gibi
kullanıcı tarafından web sitelerine girdi yapılabilecek
hedefler seçilerek zararlı kodların sunucu tarafında
XML dosyaları veya veri tabanlarında depolanmasıyla
sağlanır. Bu sızma yönteminde kullanıcının herhangi
Kurumsal Bilgi Güvenliği ve Standartları Üzerine Bir İnceleme
Y. Vural ve Ş. Sağıroğlu
Gazi Üniv. Müh. Mim. Fak. Der. Cilt 23, No 2, 2008
519
bir linke tıklamasına gerek yoktur, sadece zararlı kodu
içeren web sayfasının tarayıcıda çalışması yeterlidir.
Kalıcı XSS yöntemiyle zararlı kod hedef web sitesine
sızdırıldıktan sonra; hedef web sitesini ziyaret eden
geniş bir kullanıcı kitlesi bu durumdan
etkilenmektedir.
DOM temelli XSS yönteminde, dinamik web sayfaları
üzerinde çalışan diğer XSS yöntemlerinden farklı
olarak sunucu tarafına zararlı kod gönderilmesine
ihtiyaç duyulmayan, kullanıcı tarafında çalıştırılan
kod parçalarını içerir [37]. Bu yöntemle yapılan
saldırılarda kullanıcının web tarayıcısında etkili
olacak DOM nesneleri kullanılmaktadır.
Dostları ilə paylaş: |