Merhaba arkadaşlar bu konumuzda Reflected XSS ve Stored XSS ten bahsedeceğim.
İlk önce Reflected'le Başlayalım.
Reflected XSS bir sitede input kısmında (güvenlik açığı sebebiyle) çalıştırabildiğimiz javascript kodunu sadece isteği attıktan sonra bize verdiği url de kullanabiliriz.
Yani o url ye girmediği sürece kimse etkilenmeyecektir.
Uygulamalı anlatım:
Lab 1 - Url'de Uyarı Verme Scripti Çalıştırmak (Alert)
Lab 2 - Sitede Uyarı Verme Scripti Çalıştırmak (Alert)
LAB: Lab: Reflected XSS into HTML context with nothing encoded
Bir Blog sitesine girdik ve burda insanların paylaştığı bloglar var adamlar kolaylık olsun diye anahtar kelime yazarak istediğimiz blogu bulmamız için bir input vermiş.
Ama biz kötüye kullanıcaz ve js kodu çalıştırıcaz.
inputa bu kodu yazdık. Normalde bu şekilde:
ama biz "script" kodunu bi büyük bi küçük yaptık adamlar bu kelimeyi filtrelemiş olabilir diye
Dikkat ettiyseniz
alert(1)
yazmış, ama ben
alert("Hacked ...")
yazdım çünkü sayılarda vs. " kullanılmaz
ama kelime gibi şeylerde " kullanmak zorunludur.
ve biz bunu enterlediğimizde çıkacak şey:
Evet uyarı verdi çünkü güvenlik açığı var ve bizde sömürdük.
ve dikkat ettiyseniz Url'de değişiklik oldu çünkü bu reflected ve bu url ye tıklayan herkes bu uyarıyla karşılacak.
Lab: Stored XSS into HTML context with nothing encoded
Bu sitede postlar paylaşılıyor az önceki blog sayfasıyla çok benzer
şimdi biz rastgele bir posta girelim.
aşağılara indim ve bakın ne buldum.
şimdi buralarda js kodu çalıştırmayı deneyelim (gene aynı kod)
hepsini kafadan attım bi yer hariç orda kodu çalıştırıcaz.
enterleyelim.
evet şimdi bu Url'de bişey değişmedi
çünkü sadece bu posta tıklayan herkeste çalışacak bu kod.
Labler bitti.
Evet büyük ihtimal xss i ilk kez gören herkes zararını çok az zannedecektir ama benim çalıştırdığım kod sadece 1 örnekti.
Bunun bir çok cheat sheet i var.
Hatta merak edenler için bunu da ekliyim.
Kaynaklar:
berqnet
bulutistan
İlk önce Reflected'le Başlayalım.
Reflected XSS bir sitede input kısmında (güvenlik açığı sebebiyle) çalıştırabildiğimiz javascript kodunu sadece isteği attıktan sonra bize verdiği url de kullanabiliriz.
Yani o url ye girmediği sürece kimse etkilenmeyecektir.
Uygulamalı anlatım:
Lab 1 - Url'de Uyarı Verme Scripti Çalıştırmak (Alert)
Lab 2 - Sitede Uyarı Verme Scripti Çalıştırmak (Alert)
LAB: Lab: Reflected XSS into HTML context with nothing encoded
Bir Blog sitesine girdik ve burda insanların paylaştığı bloglar var adamlar kolaylık olsun diye anahtar kelime yazarak istediğimiz blogu bulmamız için bir input vermiş.
Ama biz kötüye kullanıcaz ve js kodu çalıştırıcaz.
inputa bu kodu yazdık. Normalde bu şekilde:
JavaScript:
<script>alert(1)</script>
Dikkat ettiyseniz
alert(1)
yazmış, ama ben
alert("Hacked ...")
yazdım çünkü sayılarda vs. " kullanılmaz
ama kelime gibi şeylerde " kullanmak zorunludur.
ve biz bunu enterlediğimizde çıkacak şey:
Evet uyarı verdi çünkü güvenlik açığı var ve bizde sömürdük.
ve dikkat ettiyseniz Url'de değişiklik oldu çünkü bu reflected ve bu url ye tıklayan herkes bu uyarıyla karşılacak.
Lab: Stored XSS into HTML context with nothing encoded
Bu sitede postlar paylaşılıyor az önceki blog sayfasıyla çok benzer
şimdi biz rastgele bir posta girelim.
aşağılara indim ve bakın ne buldum.
şimdi buralarda js kodu çalıştırmayı deneyelim (gene aynı kod)
hepsini kafadan attım bi yer hariç orda kodu çalıştırıcaz.
enterleyelim.
evet şimdi bu Url'de bişey değişmedi
çünkü sadece bu posta tıklayan herkeste çalışacak bu kod.
Labler bitti.
Evet büyük ihtimal xss i ilk kez gören herkes zararını çok az zannedecektir ama benim çalıştırdığım kod sadece 1 örnekti.
Bunun bir çok cheat sheet i var.
Hatta merak edenler için bunu da ekliyim.
XSS Zafiyeti Sonuçları Nelerdir?
Bir XSS saldırısının sonucu, türü fark etmeksizin aynıdır. Saldırıların arasındaki fark, yükün sunucuya nasıl ulaştığıdır. XSS, son kullanıcı için, bir sıkıntıdan tam hesap uzlaşmasına kadar önem derecesinde değişen çeşitli sorunlara neden olabilir. En şiddetli XSS saldırıları, kullanıcının oturum çerezinin ifşa edilmesini içerir ve saldırganın kullanıcının oturumunu ele geçirmesine olanak tanır. Diğer zararlı saldırılar; son kullanıcı dosyalarının ifşa edilmesini, Truva atı programlarının yüklenmesini, kullanıcıyı başka bir sayfaya, siteye yönlendirmeyi veya içeriğin sunumunu değiştirmeyi içerir. Başarılı bir siteler arası komut dosyası saldırısı, çevrimiçi bir işletmenin itibarı ve müşterileriyle olan ilişkisi için yıkıcı sonuçlar doğurabilir. Bir saldırganın bir basın bültenini veya haber ögesini değiştirmesine izin veren bir XSS güvenlik açığı, bir şirketin hisse senedi fiyatını etkileyebilir veya tüketici güvenini azaltabilir. Örneğin; ilaç, kimya ya da eczacılık alanındaki bir sitedeki XSS zafiyeti, siber saldırganın doz bilgisini değiştirerek aşırı doza yol açmasına neden olabilir.Hassas Müşteri Bilgilerinin Kaybı
XSS saldırıları; kredi kartı verileri, ad ve adres gibi hassas bilgilerin çalınmasını içerebilir. İşletmenin büyüklüğüne ve saldırının kapsamına bağlı olarak milyonlarca kişi bu durumdan etkilenebilir. Kullanıcı kimliğine bürünmeye yol açabilecek yetkilendirme tanımlama bilgisi hırsızlığını da içerebilir.Kâr Kaybı
XSS saldırıları itibarı olumsuz etkileyebilir ve müşteri güvenini kırabilir. Bu da kâr üzerinde negatif bir etkiye sahip olabilir.Kaynaklar:
berqnet
bulutistan