Neler Yeni

XSS Worm oluşturma

Katılım
22 Nis 2020
Mesajlar
86
Tepkime puanı
23
Puanları
150
Merhabalar arkadaşlar.

Geleneği pozmak istemiyorum. O yüzden yeni bir XSS konusu ile yeniden karşınızdayım. Bugünleri bir XSS WORM nasıl yaratılır ona bakıcaz.
Konuyu okuduktan sonra Fikirlerinizi bildirmeyi ve oy vermeyi unutmayın arkadaşlar.

Siteler arası komut dosyası oluşturma (XSS) güvenlik açığının en büyük tehlikesi, tüm kullanıcı sistemi enfekte olana kadar kullanıcıdan bir uygulamanın kullanıcısına yayılma olasılığıdır. Bunu yapabilen bu tür bir koda XSS solucanı (Worm) diyoruz. Bu dijital yaratığın nasıl çalıştığını daha iyi anlamak için, bu tehlikenin var olmasını sağlamak için gereken kendi kendini kopyalayan kodun mekaniğine yepyeni bir yolculuğa başlayacağız. Her zamanki gibi, didaktik amaçlar için, sadece temel şeylerden yararlanarak mümkün olduğu kadar basit tutacağız. Bu nedenle, amacımız olmayan daha karmaşık uygulamalar için daha uygun olan XHR ve benzeri javascript işlemlerinin kullanılmasından kaçınacağız. Yansımış olan kendini kopyalayan en basit XSS örneğini görelim. Aşağıdaki kod yalnızca kendisini çoğaltmak için gereklidir.

TV7.png


Sadece başka bir tarayıcı sekmesinde aynı enjeksiyon ile Geçerli sayfayı açacak bir bağlantı enjekte eder.

TVy.gif


Şimdi daha ayrıntılı birisine bakalım. sayfa yorum göndermek için kullanılmak üzere tasarlanmıştır ve saklanan (stored) XSS‘YE karşı savunmasızdır.

TVn.png


Aşağıda zaten Ekran görüntüsün görüceksiniz, fakat yine de belirtmek isterim ki, birisi Beni Tıkla (click me) yazısına tıkladıkta, enjekte etdiğimiz kodun çoğaldığını görüceksiniz.

TVv.gif


Bu enjeksiyon, POST HTTP yöntemini kullanarak içerik göndermemize izin veren bir formdur (method = post). Tıklandığında (onclick),
TVz.png
olan formun (elements[0]) 1.öğesini alır ve değerini formun outerHTML özelliğine ayarlar. Bu özellik, dahil
TVK.png
ile
TVJ.png
arasındaki tüm değerleri döndürür. Sonra, form gönderilir (submit ()). Giriş etiketi tıklanacak dizeyi içerir(click me!) ve yayınlanan değişkenin adı (comment). Daha az kullanıcı etkileşimi olan bir vektör için, neredeyse otomatik tetikleme olasılığını artırmak için olay işleyicisi onmouseover veya CSS Hileleri ile benzer kullanabilirsiniz.
Yararlı olmasına rağmen, form etiketine yorum kutusuna izin verilmemesi olasıdır. Yansıyan, çok daha muhtemeldir, ancak o kadar da tehlikeli değildir. Böylece, her ikisinden de faydalanacağız.
Aşağıdaki kod, kendisine işaret eden bir bağlantıyı depolamak için yansıyan (reflected) bir XSS kullanır, böylece başka bir kullanıcı aracılığıyla yayılabilir:


Önceki saklanan örnek gibi yorumlar sayfasına (eylem özniteliği) bir POST isteği yaparak çalışır. Ancak yorumda kendisini yeniden oluşturmak için outerHTML kullanmak yerine, geçerli URL belgesi özelliğinin (URL) değerini kullanarak bir bağlantı oluşturur (
TVH.png
bölümleri). Bu, etiketi (% 2B “+” kodludur) özelliği birleştirme ile yapar.
Yorumlarda çapa göndermenin genellikle mümkün olduğunu, filtrelerin bunları engellemek için kullanmadığını not etmek gerekir. Tek ihtiyacımız olan, aynı sitedeki yansıyan (reflected xss) güvenlik açığı.
Birde ekran görüntüsüne bakalım...

JVylzq.gif


Saldırıyı gizlemek için, kullanıcıyı yorumlar sayfasına döndürmeden, görünmez bir iframe ekleriz ve formun üzerine bir "target = NAME" özelliği ekleyerek yönlendiririz:

TVG.png


Şimdi temiz bir yorum sayfasını içeren bir sekme açın (yorumları bırakın) ve deneyin.

Ne fark ettiniz? Yorumları temizledikten sonra Reflected XSS zafiyyetine bu payloadımızı yapıştırıyoruz... Devamını isterseniz ekran görüntüsünden izleyelim

1plgXN.gif


Evvveeet ben her şey göz önünde. Kod çalışır fakat bu kendini belli ettirmez.

Faydalı olması dileyi ile bu serinin 2-ci yazısında görüşürüz inşAllah
 

Konuyu görüntüleyen kullanıcılar

Üst