Cross-Site Scripting (XSS Giriş) ve örnekler.

'Herodot

Asistan Moderatör
30 Eyl 2017
475
11
296
Kuvâ-yi Milliye
Merhaba Arkadaşlar,
Bu makale de size Cross-Site Scripting (XSS) anlatacağım ve örnekler vereceğim.

Cross-Site Scripting (XSS) Nedir ?
İnternet dünyasında sıklıkla karşılaşılan güvenlik tehditlerinden biri olan Cross-Site Scripting (XSS), web uygulamalarının önemli bir açığıdır. XSS saldırıları, saldırganların kötü niyetli kodları web sayfalarına enjekte ederek kullanıcıların tarayıcıları üzerinde kötü amaçlı eylemler gerçekleştirmesine olanak tanır. Bu tür saldırılar, kullanıcıların kişisel bilgilerini çalmak, oturum açma bilgilerini ele geçirmek, phishing (kimlik avı) sayfalarını yaymak ve diğer zararlı faaliyetleri gerçekleştirmek için kullanılabilir.


XSS Saldırıları Nasıl Gerçekleşir?
XSS saldırıları, web uygulamalarının güvenlik kontrolleri yetersiz olduğunda ortaya çıkar. Saldırganlar, kullanıcıların girdi verileri ile etkileşime giren web formlarını veya URL parametrelerini hedef alarak saldırı yaparlar. Bu girdilerin yeterince doğrulanmadığı durumlarda, saldırganlar kötü amaçlı betikleri içeren verileri sunucuya gönderirler. Sunucu, bu kötü amaçlı betikleri kullanıcıların tarayıcılarına gönderir ve tarayıcılar bu betikleri çalıştırır.



Örneğin, bir foruma yorum yapmak için oluşturulmuş bir web uygulamasını ele alalım. Kullanıcılar bu forma ad, e-posta ve yorum gibi bilgiler girerler. Ancak, uygulama yeterli doğrulama ve filtreleme yapmazsa, saldırganlar ad ve e-posta alanlarına kötü amaçlı betikler göndererek tüm forum kullanıcılarının tarayıcılarında enjekte ettiği kodların çalışmasını sağlayabilirler. Böylece, tarayıcıları üzerinden oturum açma bilgilerini çalabilirler.

XSS Saldırıları Türleri

XSS saldırıları üç temel türde sınıflandırılır:


Stored XSS (Depolanan XSS): Kötü niyetli veriler sunucuya kaydedilir ve bu veriler sonradan farklı kullanıcılara gösterilir. Bu tür saldırılarda, saldırganın enjekte ettiği kötü amaçlı betikler, tüm sayfaları etkileyebilir ve uzun süre aktif kalabilir.

Reflected XSS (Yansıtılan XSS): Kullanıcıların tıkladığı veya isteğe bağlı olarak gönderdiği veriler üzerinden saldırı gerçekleşir. Bu veriler, sunucu tarafında işlenip hemen geri döndürülür. Saldırganlar, kullanıcıların tıkladığı bir bağlantıya veya URL parametrelerine kötü amaçlı betikler enjekte eder ve kullanıcılar bu betikleri tıkladığında saldırı gerçekleşir.


DOM-based XSS: Bu tür saldırılarda, tarayıcıda gerçekleşen kötü amaçlı betikler yoluyla DOM (Document Object Model) manipülasyonu kullanılır. DOM, web sayfalarının yapısal temsilini oluşturan bir programlama arayüzüdür. Saldırganlar, DOM'u hedef alarak sayfa içeriğini değiştirir ve kullanıcıların tarayıcıları üzerinde kontrol sağlar.


1. Stored XSS (Depolanan XSS) Örneği:

Stored XSS saldırıları, kötü niyetli betiklerin web uygulamasında saklanarak daha sonra başka kullanıcılara gösterildiği durumlarda gerçekleşir. Aşağıdaki örnek, bir forumda yapılan yorumlara kötü niyetli bir betik enjekte edilmesini göstermektedir:

JavaScript:
Merhaba Türk Hack Team ailesi, sizinle paylaşmak istediğim bir <script> kötüAmacliFonksiyon(); </script> hikayem var...


2. Reflected XSS (Yansıtılan XSS) Örneği:

Reflected XSS saldırıları, kullanıcıların tıkladığı veya isteğe bağlı olarak gönderilen verilere kötü niyetli betiklerin enjekte edilmesiyle gerçekleşir. Aşağıdaki örnek, bir arama kutusuna arama terimini girerek sonuçları almanın olduğu bir web uygulamasını ele alıyor:

JavaScript:
https://www.webuygulama.com/arama?terim=<script> alert('Kötü amaçlı betik çalıştı!'); </script>



3. DOM-based XSS Örneği:

DOM-based XSS saldırıları, web sayfasının içeriğini değiştiren kötü niyetli betiklerin DOM manipülasyonu ile gerçekleştirilir. Aşağıdaki örnek, bir web sayfasında kötü niyetli bir betiği tetiklemek için URL parametrelerini kullanan bir durumu göstermektedir:

HTML:
<!DOCTYPE html>
<html>
<head>
    <title>DOM-based XSS Örneği</title>
</head>
<body>
    <h1 id="greeting">Merhaba Türk Hack Team Ailesi.</h1>
    <script>
        // URL'den "name" parametresini alıp DOM üzerinde işleme sokuyoruz
        var name = window.location.href.split('?name=')[1];
        var greetingElement = document.getElementById('greeting');
        greetingElement.innerHTML = 'Merhaba, ' + name + '!';
    </script>
</body>
</html>

Tarayıcıda bu sayfayı açtığınızda, URL'de "?name=THT" gibi bir parametre eklerseniz, tarayıcıdaki başlık "Merhaba Türk Hack Team Ailesi" olarak değişir. Ancak, saldırgan aşağıdaki URL'yi oluşturarak kötü amaçlı bir betiği tetikleyebilir:

PHP:
https://www.webuygulama.com/sayfa.html?name=<script> alert('Kötü amaçlı betik çalıştı!'); </script>

Video Önerisi :




Değerli Türk Hack Team Ailesi,


Bugün burada Cross-Site Scripting (XSS) hakkında önemli bir güvenlik konusuna değindik. XSS, web uygulamalarının ciddi bir güvenlik açığıdır ve internet dünyasında karşılaşılan en yaygın tehditlerden biridir.

Makalemizde, XSS saldırılarının nasıl gerçekleştiğini, saldırı türlerini ve nasıl önlenmesi gerektiğini ele aldık. XSS saldırıları, kullanıcıların tarayıcıları üzerinde kötü amaçlı eylemler gerçekleştirerek kişisel bilgilerin çalınması, oturum açma bilgilerinin ele geçirilmesi ve diğer zararlı faaliyetlere yol açabilir. Ancak, web uygulamalarının güvenlik önlemleri alması ve doğru uygulamaları benimsemesi, XSS saldırılarının etkilerini en aza indirebilir.

Web geliştiricileri olarak, kullanıcıların güvenliğini ön planda tutmalı ve web uygulamalarımızı güvenli bir şekilde inşa etmeliyiz. Giriş doğrulama, filtreleme, çıktı kodlama ve Content Security Policy (CSP) gibi güvenlik önlemlerini uygulayarak, XSS saldırılarına karşı kalkanlarımızı güçlendirebiliriz. Ayrıca, web uygulamalarımızın kullandığı yazılımları düzenli olarak güncellemeli ve güvenlik düzeltmelerini zamanında uygulamalıyız.

Birlikte çalışarak ve güvenliğe önem vererek, internet dünyasını daha güvenli ve güvenilir bir yer haline getirebiliriz. Unutmayalım ki güvenlik, herkesin sorumluluğundadır ve bir adım atmak, daha güçlü bir dijital dünya yaratmaya katkı sağlar.

Güzel yorumlarınız için teşekkür ederim.

Sağlıklı ve güvenli günler dilerim.

['Heredot]
 
Son düzenleme:

'Herodot

Asistan Moderatör
30 Eyl 2017
475
11
296
Kuvâ-yi Milliye
Eline sağlık fakat formda aynı başlık altında bulunan belki binlerce konu mevcut hocam. Paylaşacağınız konuları ilk önce forum içerisinde aramayı deneyin..
Selamlar,

Aynı konu bir kaç defa tartışılabilir veya yorumlanabilir.
Zafiyet ne olursa olsun incelemek, farklı açılardan bakmak gerekir.

İyi Forumlar.
 

Beytullah252552

Yeni üye
13 Ağu 2022
29
3
Merhaba Arkadaşlar,
Bu makale de size Cross-Site Scripting (XSS) anlatacağım ve örnekler vereceğim.

Cross-Site Scripting (XSS) Nedir ?
İnternet dünyasında sıklıkla karşılaşılan güvenlik tehditlerinden biri olan Cross-Site Scripting (XSS), web uygulamalarının önemli bir açığıdır. XSS saldırıları, saldırganların kötü niyetli kodları web sayfalarına enjekte ederek kullanıcıların tarayıcıları üzerinde kötü amaçlı eylemler gerçekleştirmesine olanak tanır. Bu tür saldırılar, kullanıcıların kişisel bilgilerini çalmak, oturum açma bilgilerini ele geçirmek, phishing (kimlik avı) sayfalarını yaymak ve diğer zararlı faaliyetleri gerçekleştirmek için kullanılabilir.


XSS Saldırıları Nasıl Gerçekleşir?
XSS saldırıları, web uygulamalarının güvenlik kontrolleri yetersiz olduğunda ortaya çıkar. Saldırganlar, kullanıcıların girdi verileri ile etkileşime giren web formlarını veya URL parametrelerini hedef alarak saldırı yaparlar. Bu girdilerin yeterince doğrulanmadığı durumlarda, saldırganlar kötü amaçlı betikleri içeren verileri sunucuya gönderirler. Sunucu, bu kötü amaçlı betikleri kullanıcıların tarayıcılarına gönderir ve tarayıcılar bu betikleri çalıştırır.



Örneğin, bir foruma yorum yapmak için oluşturulmuş bir web uygulamasını ele alalım. Kullanıcılar bu forma ad, e-posta ve yorum gibi bilgiler girerler. Ancak, uygulama yeterli doğrulama ve filtreleme yapmazsa, saldırganlar ad ve e-posta alanlarına kötü amaçlı betikler göndererek tüm forum kullanıcılarının tarayıcılarında enjekte ettiği kodların çalışmasını sağlayabilirler. Böylece, tarayıcıları üzerinden oturum açma bilgilerini çalabilirler.

XSS Saldırıları Türleri

XSS saldırıları üç temel türde sınıflandırılır:


Stored XSS (Depolanan XSS): Kötü niyetli veriler sunucuya kaydedilir ve bu veriler sonradan farklı kullanıcılara gösterilir. Bu tür saldırılarda, saldırganın enjekte ettiği kötü amaçlı betikler, tüm sayfaları etkileyebilir ve uzun süre aktif kalabilir.

Reflected XSS (Yansıtılan XSS): Kullanıcıların tıkladığı veya isteğe bağlı olarak gönderdiği veriler üzerinden saldırı gerçekleşir. Bu veriler, sunucu tarafında işlenip hemen geri döndürülür. Saldırganlar, kullanıcıların tıkladığı bir bağlantıya veya URL parametrelerine kötü amaçlı betikler enjekte eder ve kullanıcılar bu betikleri tıkladığında saldırı gerçekleşir.


DOM-based XSS: Bu tür saldırılarda, tarayıcıda gerçekleşen kötü amaçlı betikler yoluyla DOM (Document Object Model) manipülasyonu kullanılır. DOM, web sayfalarının yapısal temsilini oluşturan bir programlama arayüzüdür. Saldırganlar, DOM'u hedef alarak sayfa içeriğini değiştirir ve kullanıcıların tarayıcıları üzerinde kontrol sağlar.


1. Stored XSS (Depolanan XSS) Örneği:

Stored XSS saldırıları, kötü niyetli betiklerin web uygulamasında saklanarak daha sonra başka kullanıcılara gösterildiği durumlarda gerçekleşir. Aşağıdaki örnek, bir forumda yapılan yorumlara kötü niyetli bir betik enjekte edilmesini göstermektedir:

JavaScript:
Merhaba Türk Hack Team ailesi, sizinle paylaşmak istediğim bir <script> kötüAmacliFonksiyon(); </script> hikayem var...


2. Reflected XSS (Yansıtılan XSS) Örneği:

Reflected XSS saldırıları, kullanıcıların tıkladığı veya isteğe bağlı olarak gönderilen verilere kötü niyetli betiklerin enjekte edilmesiyle gerçekleşir. Aşağıdaki örnek, bir arama kutusuna arama terimini girerek sonuçları almanın olduğu bir web uygulamasını ele alıyor:

JavaScript:
https://www.webuygulama.com/arama?terim=<script> alert('Kötü amaçlı betik çalıştı!'); </script>



3. DOM-based XSS Örneği:

DOM-based XSS saldırıları, web sayfasının içeriğini değiştiren kötü niyetli betiklerin DOM manipülasyonu ile gerçekleştirilir. Aşağıdaki örnek, bir web sayfasında kötü niyetli bir betiği tetiklemek için URL parametrelerini kullanan bir durumu göstermektedir:

HTML:
<!DOCTYPE html>
<html>
<head>
    <title>DOM-based XSS Örneği</title>
</head>
<body>
    <h1 id="greeting">Merhaba Türk Hack Team Ailesi.</h1>
    <script>
        // URL'den "name" parametresini alıp DOM üzerinde işleme sokuyoruz
        var name = window.location.href.split('?name=')[1];
        var greetingElement = document.getElementById('greeting');
        greetingElement.innerHTML = 'Merhaba, ' + name + '!';
    </script>
</body>
</html>

Tarayıcıda bu sayfayı açtığınızda, URL'de "?name=THT" gibi bir parametre eklerseniz, tarayıcıdaki başlık "Merhaba Türk Hack Team Ailesi" olarak değişir. Ancak, saldırgan aşağıdaki URL'yi oluşturarak kötü amaçlı bir betiği tetikleyebilir:

PHP:
https://www.webuygulama.com/sayfa.html?name=<script> alert('Kötü amaçlı betik çalıştı!'); </script>

Video Önerisi :




Değerli Türk Hack Team Ailesi,


Bugün burada Cross-Site Scripting (XSS) hakkında önemli bir güvenlik konusuna değindik. XSS, web uygulamalarının ciddi bir güvenlik açığıdır ve internet dünyasında karşılaşılan en yaygın tehditlerden biridir.

Makalemizde, XSS saldırılarının nasıl gerçekleştiğini, saldırı türlerini ve nasıl önlenmesi gerektiğini ele aldık. XSS saldırıları, kullanıcıların tarayıcıları üzerinde kötü amaçlı eylemler gerçekleştirerek kişisel bilgilerin çalınması, oturum açma bilgilerinin ele geçirilmesi ve diğer zararlı faaliyetlere yol açabilir. Ancak, web uygulamalarının güvenlik önlemleri alması ve doğru uygulamaları benimsemesi, XSS saldırılarının etkilerini en aza indirebilir.

Web geliştiricileri olarak, kullanıcıların güvenliğini ön planda tutmalı ve web uygulamalarımızı güvenli bir şekilde inşa etmeliyiz. Giriş doğrulama, filtreleme, çıktı kodlama ve Content Security Policy (CSP) gibi güvenlik önlemlerini uygulayarak, XSS saldırılarına karşı kalkanlarımızı güçlendirebiliriz. Ayrıca, web uygulamalarımızın kullandığı yazılımları düzenli olarak güncellemeli ve güvenlik düzeltmelerini zamanında uygulamalıyız.

Birlikte çalışarak ve güvenliğe önem vererek, internet dünyasını daha güvenli ve güvenilir bir yer haline getirebiliriz. Unutmayalım ki güvenlik, herkesin sorumluluğundadır ve bir adım atmak, daha güçlü bir dijital dünya yaratmaya katkı sağlar.

Güzel yorumlarınız için teşekkür ederim.

Sağlıklı ve güvenli günler dilerim.

['Heredot]
Teşekkürler eline sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.