Web Dünyasındaki En Yaygın 2 Güvenlik Açığı #1

'The Wolf

Kıdemli Üye
22 Nis 2021
4,043
2,565
Tanrı dağı
OWASP (Open Web Application Security Project - Açık Web Uygulama Güvenliği Projesi), yazılım ve web uygulamalarının güvenliğini artırmaya hedefleyen, kar amacı gütmeyen bir kuruluştur.

Çeşitli güvenlik kuruluşlarından gelen verilere dayalı olarak en önemli web güvenlik açıklarının bir listesini yayınlar.

Web güvenlik açıkları, güvenlik açığının istismar edilebilmesinin kolaylık derecesi, tespit edilebilirlik ve yazılım üzerindeki etkisine göre önceliklendirilir.

  • Güvenlik açığının istismar edilebilmesinin kolaylık derecesi (Exploitability): Güvenlik açığını istismar edebilmek için ne gerekli? Saldırının gerçekleştirilebilmesi için sadece web tarayıcısı gerekiyorsa yüksek, gelişmiş programlama ve gelişmiş araçlar gerekiyorsa düşük exploitability var demektir.
  • Tespit edilebilirlik (Detectability): Tehdidi tespit edebilmek kolay mı? Açığı tespit etmek için sadece URL, Form veya Hata mesajında görüntülenen bilgiler gerekiyorsa yüksek, kaynak kodunun incelenmesi gerekiyorsa düşük detectability var demektir.
  • Etki veya Hasar: Güvenlik açığı ortaya çıktığında veya saldırıya uğradığında sisteme ne kadar zarar verecek? Sistemin çökmesi ile sonuçlanıyorsa yüksek, herhangi bir zarar vermiyorsa düşük etki veya hasar var demektir.
OWASP’ın açıkladığı en bilinen 10 güvenlik açığının temel amacı, geliştiricileri, tasarımcıları, yöneticileri, mimarları ve kuruluşları en önemli güvenlik açıkları konusunda eğitmektir.

1. SQL Enjeksiyonu (SQL Injection)

SQL Enjeksiyonu, bir saldırganın kullanıcı tarafından sağlanan verileri manipüle ederek arka uç SQL ifadelerini değiştirmesine olanak tanıyan bir güvenlik açığıdır.

Enjeksiyon, kullanıcı girdisi komut veya sorgunun bir parçası olarak bir yorumlayıcıya gönderildiğinde ve yorumlayıcıyı istenmeyen komutları yürütmesi için kandırdığında ve yetkisiz verilere erişim sağladığında meydana gelir.

61ux7ar.jpg


Etkileri:

  • Bir saldırgan, savunmasız alanlara kötü amaçlı içerikleri enjekte edebilir.
  • Kullanıcı Adları, Parolalar vb. Gibi hassas veriler veritabanından okunabilir.
  • Veritabanı verileri değiştirilebilir (Ekle / Güncelle / Sil).
  • Veritabanı üzerinde yönetim işlemleri yapılabilir.
Muhtemel Saldırı Alanları:
  • Giriş Alanları (Oturum Açma, Kayıt, Mesaj, Yorum Alanları)
  • Veritabanıyla etkileşime giren URL'ler.
Örnekler:
  • Oturum Açma Sayfasında SQL enjeksiyonu. Geçerli kimlik bilgilerine sahip olmadan bir uygulamada oturum açma.
Oturum açma bilgilerinden "Kullanıcı Adı" tespit edildiyse ve gerekli önlem alınmadıysa, aşağıdaki bilgi "Şifre" kısmına yazılarak, gönderilen verinin veritabanında eşleşmesi sağlanabilir; bu durumda yazılan şifre SQL ile veritabanında kontrol edildiğinde zafiyet kullanılmış olur.

Kullanıcı adı: kullanici

Şifre: 1=1’ or pass123

Bu durumda muhtemel SQL şu şekilde olacaktır.

SELECT * FROM Users WHERE User_Name = kullanici AND Password = 1=1' or pass123;

Bu durumda kesme işaretinden sonraki bölümü dikkate almayacak ve 1=1 ibaresi TRUE olacağı için de sisteme girişe izin verecektir.

Öneriler:

  • Giriş alanları için beyaz liste (Sadece kabul edilecek veri tipi ve özelliklerini içeren liste) oluşturun.
  • Saldırgan için yararlı olabilecek ayrıntılı hata mesajlarını görüntülemekten kaçının.

2. Siteler Arası Komut (Cross Site Scripting)


xss.jpg


Siteler Arası Komut (Cross Site Scripting) kısaca XSS olarak bilinir.

XSS güvenlik açıkları, istemci tarafında, yani sunucu tarafında değil, kullanıcı tarayıcısında yürütülen bir sayfaya gömülü komut dosyalarını çalıştırmayı hedefler. Bu açıklar, güvenilmeyen verilerin alınıp uygun doğrulama olmadan web tarayıcısına gönderildiğinde ortaya çıkabilir. Tarayıcı komut dosyasının güvenilir olup olmadığını bilemeyeceği için komut dosyası çalıştırılır ve saldırgan oturum tanımlama bilgilerini ele geçirebilir, web sitelerini tahrif edebilir veya kullanıcıyı istenmeyen ve kötü niyetli web sitelerine yönlendirebilir.

XSS, saldırganın komut dosyalarını kurbanın tarayıcısında çalıştırmasına izin veren bir saldırı türüdür.

Etkileri:

Bu güvenlik açığından yararlanan bir saldırgan, uygulamaya komut dosyaları ekleyebilir, oturum tanımlama bilgilerini çalabilir, web sitelerini tahrif edebilir ve kurbanın makinelerinde kötü amaçlı yazılım çalıştırabilir.

Muhtemel Saldırı Alanları:

  • Giriş Alanları (Oturum Açma, Kayıt, Mesaj, Yorum Alanları)
  • Veritabanıyla etkileşime giren URL'ler.
  • Örnekler:

    1. http://www.yoursite.com/anasayfa? "< script > alert (" you are hacked! ")

    Yukarıdaki komut dosyası bir tarayıcıda çalıştırıldığında, site XSS'ye açıksa bir mesaj kutusu görüntülenir. Daha ciddi saldırılarda, oturum tanımlama bilgileri görüntülenebilir veya depolanabilir.
2. E-commerce Website Builder | YourSite.com< iframe>< /iframe> < src 500="" google.com="" height="" width="500" >

Yukarıdaki komut dosyası çalıştırıldığında, tarayıcı http://google.com'u gösteren bir “iframe” yükleyecektir.
Öneriler:

  • Giriş alanları için beyaz liste (Sadece kabul edilecek veri tipi ve özelliklerini içeren liste) oluşturun.
  • Giriş Çıkış verilerinin temizlenerek gönderilmesini (Sanitize) sağlayın.
Alıntıdır
 
Son düzenleme:

Dargaaltay

Uzman üye
7 Mar 2019
1,741
404
Kainat
OWASP (Open Web Application Security Project - Açık Web Uygulama Güvenliği Projesi), yazılım ve web uygulamalarının güvenliğini artırmaya hedefleyen, kar amacı gütmeyen bir kuruluştur.

Çeşitli güvenlik kuruluşlarından gelen verilere dayalı olarak en önemli web güvenlik açıklarının bir listesini yayınlar.

Web güvenlik açıkları, güvenlik açığının istismar edilebilmesinin kolaylık derecesi, tespit edilebilirlik ve yazılım üzerindeki etkisine göre önceliklendirilir.

  • Güvenlik açığının istismar edilebilmesinin kolaylık derecesi (Exploitability): Güvenlik açığını istismar edebilmek için ne gerekli? Saldırının gerçekleştirilebilmesi için sadece web tarayıcısı gerekiyorsa yüksek, gelişmiş programlama ve gelişmiş araçlar gerekiyorsa düşük exploitability var demektir.
  • Tespit edilebilirlik (Detectability): Tehdidi tespit edebilmek kolay mı? Açığı tespit etmek için sadece URL, Form veya Hata mesajında görüntülenen bilgiler gerekiyorsa yüksek, kaynak kodunun incelenmesi gerekiyorsa düşük detectability var demektir.
  • Etki veya Hasar: Güvenlik açığı ortaya çıktığında veya saldırıya uğradığında sisteme ne kadar zarar verecek? Sistemin çökmesi ile sonuçlanıyorsa yüksek, herhangi bir zarar vermiyorsa düşük etki veya hasar var demektir.
OWASP’ın açıkladığı en bilinen 10 güvenlik açığının temel amacı, geliştiricileri, tasarımcıları, yöneticileri, mimarları ve kuruluşları en önemli güvenlik açıkları konusunda eğitmektir.

1. SQL Enjeksiyonu (SQL Injection)

SQL Enjeksiyonu, bir saldırganın kullanıcı tarafından sağlanan verileri manipüle ederek arka uç SQL ifadelerini değiştirmesine olanak tanıyan bir güvenlik açığıdır.

Enjeksiyon, kullanıcı girdisi komut veya sorgunun bir parçası olarak bir yorumlayıcıya gönderildiğinde ve yorumlayıcıyı istenmeyen komutları yürütmesi için kandırdığında ve yetkisiz verilere erişim sağladığında meydana gelir.

61ux7ar.jpg


Etkileri:

  • Bir saldırgan, savunmasız alanlara kötü amaçlı içerikleri enjekte edebilir.
  • Kullanıcı Adları, Parolalar vb. Gibi hassas veriler veritabanından okunabilir.
  • Veritabanı verileri değiştirilebilir (Ekle / Güncelle / Sil).
  • Veritabanı üzerinde yönetim işlemleri yapılabilir.
Muhtemel Saldırı Alanları:
  • Giriş Alanları (Oturum Açma, Kayıt, Mesaj, Yorum Alanları)
  • Veritabanıyla etkileşime giren URL'ler.
Örnekler:
  • Oturum Açma Sayfasında SQL enjeksiyonu. Geçerli kimlik bilgilerine sahip olmadan bir uygulamada oturum açma.
Oturum açma bilgilerinden "Kullanıcı Adı" tespit edildiyse ve gerekli önlem alınmadıysa, aşağıdaki bilgi "Şifre" kısmına yazılarak, gönderilen verinin veritabanında eşleşmesi sağlanabilir; bu durumda yazılan şifre SQL ile veritabanında kontrol edildiğinde zafiyet kullanılmış olur.

Kullanıcı adı: kullanici

Şifre: 1=1’ or pass123

Bu durumda muhtemel SQL şu şekilde olacaktır.

SELECT * FROM Users WHERE User_Name = kullanici AND Password = 1=1' or pass123;

Bu durumda kesme işaretinden sonraki bölümü dikkate almayacak ve 1=1 ibaresi TRUE olacağı için de sisteme girişe izin verecektir.

Öneriler:

  • Giriş alanları için beyaz liste (Sadece kabul edilecek veri tipi ve özelliklerini içeren liste) oluşturun.
  • Saldırgan için yararlı olabilecek ayrıntılı hata mesajlarını görüntülemekten kaçının.

2. Siteler Arası Komut (Cross Site Scripting)


xss.jpg


Siteler Arası Komut (Cross Site Scripting) kısaca XSS olarak bilinir.

XSS güvenlik açıkları, istemci tarafında, yani sunucu tarafında değil, kullanıcı tarayıcısında yürütülen bir sayfaya gömülü komut dosyalarını çalıştırmayı hedefler. Bu açıklar, güvenilmeyen verilerin alınıp uygun doğrulama olmadan web tarayıcısına gönderildiğinde ortaya çıkabilir. Tarayıcı komut dosyasının güvenilir olup olmadığını bilemeyeceği için komut dosyası çalıştırılır ve saldırgan oturum tanımlama bilgilerini ele geçirebilir, web sitelerini tahrif edebilir veya kullanıcıyı istenmeyen ve kötü niyetli web sitelerine yönlendirebilir.

XSS, saldırganın komut dosyalarını kurbanın tarayıcısında çalıştırmasına izin veren bir saldırı türüdür.

Etkileri:

Bu güvenlik açığından yararlanan bir saldırgan, uygulamaya komut dosyaları ekleyebilir, oturum tanımlama bilgilerini çalabilir, web sitelerini tahrif edebilir ve kurbanın makinelerinde kötü amaçlı yazılım çalıştırabilir.

Muhtemel Saldırı Alanları:

  • Giriş Alanları (Oturum Açma, Kayıt, Mesaj, Yorum Alanları)
  • Veritabanıyla etkileşime giren URL'ler.
  • Örnekler:

    1. http://www.yoursite.com/anasayfa? "< script > alert (" you are hacked! ")

    Yukarıdaki komut dosyası bir tarayıcıda çalıştırıldığında, site XSS'ye açıksa bir mesaj kutusu görüntülenir. Daha ciddi saldırılarda, oturum tanımlama bilgileri görüntülenebilir veya depolanabilir.
2. E-commerce Website Builder | YourSite.com< iframe>< /iframe> < src 500="" google.com="" height="" width="500" >

Yukarıdaki komut dosyası çalıştırıldığında, tarayıcı http://google.com'u gösteren bir “iframe” yükleyecektir.
Öneriler:

  • Giriş alanları için beyaz liste (Sadece kabul edilecek veri tipi ve özelliklerini içeren liste) oluşturun.
  • Giriş Çıkış verilerinin temizlenerek gönderilmesini (Sanitize) sağlayın.
Merhaba sayın üye,
Alıntı konularınızın altına altındır yazmak alıntı yaptığınız kişinin emeğini hiçe saymamak demektir. Alıntı yapmak kötü bir şey değildir
Özgün konular açmanız dileklerimle.

Elinize sağlık
 

Ugroon ++

Katılımcı Üye
13 Ara 2020
306
76
192.168.1.1
Değil, 0day lerden bahsetmiyorum bile ama open redirect i az kişi biliyor (farklı bir yöntem) diye az sitede mi var? Tüm bakanlıklarda, bazı bankalarda, bazı dünya şirketlerinde bir açık var. Tespit etmesi 1 dakikanı alır. Yöntemi anka time alınırsam konu olarak açarım :) Bu arada ellerine sağlık
 
Son düzenleme:

0x43

Yeni üye
15 Şub 2021
46
28
Değil, 0day lerden bahsetmiyorum bile ama open redirect i az kişi biliyor (farklı bir yöntem) diye az site de mi var? Tüm bakanlıklarda, bazı bankalarda, bazı dünya şirketlerinde bir açık var. Tespit etmesi 1 dakikanı alır. Yöntemi anka time alınırsam konu olarak açarım :) Bu arada ellerine sağlık
Konuyu anladığınıza emin misiniz? Arkadaş Owasp adlı kuruluşun istatiksel olarak kendi verilerine göre en yaygın açıkları listelemiş. 0day diye bahsettiğiniz olayın anlamı ile konunun başlığı bile birbirine tamamen zıt. Tüm bakanlıklarda, bazı bankalarda, bazı dünya şirketlerinde olabilecek tek açık değil bahsettiğiniz olay.
Neyse saniyeler içinde feysbuk'u heykleme(hesap değil direkt siteyi) konusu açarım, admin yaparsanız.
Bu arada katılmadığınız yerlere alıntı yaparak "değil" diye başlayınız. Herkes üstüne alınmasın.
 

'The Wolf

Kıdemli Üye
22 Nis 2021
4,043
2,565
Tanrı dağı
Merhaba sayın üye,
Alıntı konularınızın altına altındır yazmak alıntı yaptığınız kişinin emeğini hiçe saymamak demektir. Alıntı yapmak kötü bir şey değildir
Özgün konular açmanız dileklerimle.

Elinize sağlık
Pardon İnsanlık Hali Unutmuşum.

Değil, 0day lerden bahsetmiyorum bile ama open redirect i az kişi biliyor (farklı bir yöntem) diye az site de mi var? Tüm bakanlıklarda, bazı bankalarda, bazı dünya şirketlerinde bir açık var. Tespit etmesi 1 dakikanı alır. Yöntemi anka time alınırsam konu olarak açarım :) Bu arada ellerine sağlık
Teşekkürler
 

Ugroon ++

Katılımcı Üye
13 Ara 2020
306
76
192.168.1.1
Konuyu anladığınıza emin misiniz? Arkadaş Owasp adlı kuruluşun istatiksel olarak kendi verilerine göre en yaygın açıkları listelemiş. 0day diye bahsettiğiniz olayın anlamı ile konunun başlığı bile birbirine tamamen zıt. Tüm bakanlıklarda, bazı bankalarda, bazı dünya şirketlerinde olabilecek tek açık değil bahsettiğiniz olay.
Neyse saniyeler içinde feysbuk'u heykleme(hesap değil direkt siteyi) konusu açarım, admin yaparsanız.
Bu arada katılmadığınız yerlere alıntı yaparak "değil" diye başlayınız. Herkes üstüne alınmasın.
Tamam sakin :) Ben de zaten genel olarak dedim, OWASP ın istatistik verilerini değil ve bilinen açıklar"için de konuşmadım. Sadece genel bir eleştiriydi ve başlığa göre yanıt verdim içeriğe göre değil. Ayrıca feysbuku heyklerim dediniz ya konuyu açtığımda ve nerelerde bulduğumu tek tek gösterdiğimde aynen bunu mesaj olarak atarım ama şu şekilde "amazonu nasıl heykledim"
 
Ü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.