İçeriğe geç
Ana sayfa » Genel » Hacking » Cross-site Scripting Nedir?

Cross-site Scripting Nedir?

Cross-site Scripting Nedir?

Cross-site Scripting, bir internet siteye dışarıdan, zararlı kodların dahil edilmesi olayıdır. OWAPS ın 2013 raporuna göre ilk 3 popüler saldırı türü içerisinde yer alıyor. 2017 raporuna ise ilk 10 popüler saldırı türü içerisinde yer almaktadır. Bu saldırıdan başta Facebook, Twitter olmak üzere çok büyük şirketlerin kullanıcıları etkilenmiştir.

Temelde bu zararlı kod dahil etme olayı, 2 alt başlıkta toplanmaktadır.

1. Cross-site Scripting Reflected

Cross-site Scripting Reflected, internet sitenin adres kısmına bir script kodu yazdığımızda bu kodu çalıştırabilmemizi ifade etmektedir. Kurbanlara zararlı script kodunun bulunduğu linki atarak kurban bilgisayar üzerinde zararlı kodun çalıştırılmasını sağlayabilirsiniz.

Örnek;
www.orneksite.com/page.php?id=<script>alert("Discover the Security")</script>

Yukarıdaki örnekte bir kullanıcı bu siteye girdiği zaman, ekranında bir mesaj kutusu açılacak ve mesaj kutusunun içerisinde Discover the Security yazacaktır.

Örneğe baktığınız zaman ben sadece kurbanın ekranında mesaj kutusunun açılmasını sağladım. Eğer kullanıcının ekranında mesaj kutusu açabilecek ufak bir kod çalıştırabiliyorsam, zararlı kodlar da çalıştırabilirim. Cross-site Scripting Reflected mantığı bu şekilde çalışmaktadır.

Cross-site Scripting

2. Cross-site Scripting Stored

Cross-site Scripting Stored, benzer bir mantıkla çalışmaktadır. Yukarıdaki örnekte zararlı kodumuzu url adres kısmına gömmüştük. Bu yöntemimizde ise, zararlı kodumuzu direkt sayfanın içerisine gömüyoruz. Bu sayede sayfanın içerisine gömdüğümüz zararlı kodumuzun, sayfayı görüntüleyen herkesin bilgisayarında çalışmasını sağlıyoruz.

Peki Bunu Nasıl Yapabiliriz?

Bu güvenlik zafiyetini içeren internet sitelerde şu davranışlar görüntülenir. Örneğin bir yorum yazdığınızda site bu yorumu kod olarak yorumluyor ise, bı güvenlik zafiyetinden yararlanılarak, siteyi ziyaret eden kullanıcılar üzerinde çeşitli kodlar çalıştırabiliriz.

Örneğin;

Bir internet sitede yorum yazabilme hakkına sahibiz ve sitede herhangi bir sayfanın altına yorum yazdığımızda site bu yorumları kod olarak okuyor ise, aşağıdaki kodu yorum olarak yazarsak, yorum yaptığımız sayfayı ziyaret eden ziyaretçilerin bilgisayarlarında mesaj kutusu açılacak ve içerisinde Discover the Security yazacaktır.

<script>alert("Discover the Security")</script>

Dolayısıyla üstteki mantık ile aynı, eğer bir sayfayı ziyaret eden kullanıcıların ekranlarında mesaj kutusu açabiliyorsak, istediğimiz zararlı kodları da aynı mantık ile çalıştırabiliriz.

cyber_security

Kurbanları Kandırmak

Bakıldığı zaman Reflected yöntemi ile kullanıcıları kandırmak biraz zordur. Çünkü bu tarz güvenlik zafiyeti içeren bir sitenin zafiyetini sömürüp link haline getirip kullanıcıya attığımızda, link uzun olacaktır ve belki kurban linke tıklamayacaktır bile.

Fakat Stored örneğinde, örneğin siteadresi.com/ziyaretci-defteri sayfasına Stored saldırı düzenlediğimizde, sadece siyah ile boyadığım linkin kurbana atılması, sizin yazdığınız zararlı kodların, kurbanın bilgisayarında çalışması için yeterli olacaktır.

Bug Bounty programlarında çoğunluklu XSS reflected zafiyetlere ödüller vermeyebiliyorlar veya çok az miktarda ödüller verebiliyorlar. Fakat eğer büyük bir sitede XSS stored bir zafiyet bulursanız iyi bir ödül alabilirsiniz.

Bu Saldırıdan Korunmak

Çoğu antivirüs yazılımları bu tarz saldırıların büyük çoğunluğunu algılayıp engelleyebiliyor fakat antivirüs yazılımlarının engelleyemediği durumlar da olabiliyor. Güncel bir antivirüs yazılımı kullanmak, bu tarz saldırılardan korunmak için, büyük çoğunlukla yeterli olacaktır. Fakat yinede herhangi bir siteye girmeden önce, yinede linki incelemekte fayda var.

Yararlandığım Kaynaklar

 

 

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir