En Yaygın 10 Web Güvenlik Zafiyeti

OWASP veya Open Web Security Project, yazılım ve web uygulamalarının güvenliğini geliştirmeye odaklanan, kar amacı gütmeyen bir hayır kurumudur.

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

Web güvenlik açıkları, istismar edilebilirlik, algılanabilirlik ve yazılım üzerindeki etkisine bağlı olarak önceliklendirilir.

  • Kullanılabilirlik –

    Güvenlik açığından yararlanmak için ne gerekiyor? Saldırının yalnızca web tarayıcısına ihtiyaç duyduğu ve en düşük düzeyde gelişmiş programlama ve araçlara ihtiyaç duyduğunda en yüksek istismar edilebilirlik.

  • Tespit edilebilirlik –

    Tehdidi tespit etmek ne kadar kolay? En yüksek URL, Form veya Hata mesajında ​​görüntülenen bilgi ve en düşük kaynak kodudur.

  • Etki veya Hasar –

    Güvenlik açığı açığa çıkarsa veya saldırıya uğrarsa ne kadar zarar verilir? En yüksek tam sistem çökmesi ve en düşük hiçbir şey değil.

OWASP Top 10'un temel amacı, geliştiricileri, tasarımcıları, yöneticileri, mimarları ve kuruluşları en önemli güvenlik açıkları konusunda eğitmektir.

OWASP İlk 10'a göre ilk 10 güvenlik açığı şunlardır:

SQL Enjeksiyonu

Açıklama

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

Enjeksiyon, kullanıcı girişi komut veya sorgulamanın 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.

Web uygulaması tarafından yürütüldüğünde arka uç veritabanını da ortaya çıkarabilen SQL komutu.

Ima

  • Saldırgan, güvenlik açığı bulunan alanlara kötü amaçlı içerik enjekte edebilir.
  • Kullanıcı Adları, Şifreler gibi hassas veriler veri tabanından okunabilir.
  • Veritabanı verileri değiştirilebilir (Ekle/Güncelle/Sil).
  • Yönetim İşlemleri veritabanında yürütülebilir

Hassas Nesneler

  • Giriş Alanları
  • Veritabanıyla etkileşime giren URL'ler.

Örnekler:

  • Giriş Sayfasında SQL enjeksiyonu

Geçerli kimlik bilgileri olmadan bir uygulamada oturum açma.

Geçerli kullanıcı adı mevcut ve şifre mevcut değil.

Test URL'si: http://demo.testfire.net/default.aspx

Kullanıcı Adı: sjones

Şifre: 1=1' veya pass123

SQL sorgusu oluşturuldu ve aşağıdaki gibi yorumlayıcıya gönderildi

SELECT * FROM Users WHERE User_Name = sjones AND Password = 1=1' veya pass123;

Öneriler

  1. Giriş alanlarını beyaz listeleme
  2. Saldırgan için yararlı olan ayrıntılı hata mesajlarını görüntülemekten kaçının.

Siteler Arası Komut Dosyası Oluşturma

Açıklama

Siteler Arası Komut Dosyası, kısaca XSS olarak da bilinir.

XSS güvenlik açıkları, sunucu tarafında değil, istemci tarafında, yani kullanıcı tarayıcısında yürütülen bir sayfaya gömülü komut dosyalarını hedefler. Bu kusurlar, uygulama güvenilmeyen verileri alıp uygun doğrulama olmadan web tarayıcısına gönderdiğinde ortaya çıkabilir.

Saldırganlar, bu durumda kurban tarayıcılarında kullanıcılar üzerinde kötü amaçlı komut dosyaları yürütmek için XSS kullanabilir. Tarayıcı betiğin güvenilir olup olmadığını bilemediği için betik yürütülür ve saldırgan oturum çerezlerini ele geçirebilir, web sitelerini tahrif edebilir veya kullanıcıyı istenmeyen ve kötü niyetli web sitelerine yönlendirebilir.

XSS, saldırganın kurbanın tarayıcısında komut dosyalarını yürütmesine izin veren bir saldırıdır.

Ima:

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

Hassas Nesneler

  • Giriş Alanları
  • URL'ler

Örnekler

1. http://www.vulnerablesite.com/home?'alert('xss') >

Yukarıdaki komut dosyası bir tarayıcıda çalıştırıldığında, site XSS'ye karşı savunmasızsa bir mesaj kutusu görüntülenecektir.

Saldırgan oturum çerezini görüntülemek veya saklamak isterse, daha ciddi saldırı yapılabilir.

2. http://demo.testfire.net/search.aspx?txtSearch >http://google.com genişlik = 500 yükseklik 500>

Yukarıdaki komut dosyası çalıştırıldığında, tarayıcı aşağıdakilere işaret eden görünmez bir çerçeve yükleyecektir. http://google.com .

Tarayıcıda kötü amaçlı bir komut dosyası çalıştırılarak saldırı ciddi hale getirilebilir.

Öneriler

  1. Beyaz Liste giriş alanları
  2. Giriş Çıkış kodlaması

Bozuk Kimlik Doğrulama ve Oturum Yönetimi

Açıklama

Web siteleri genellikle her geçerli oturum için bir oturum tanımlama bilgisi ve oturum kimliği oluşturur ve bu tanımlama bilgileri kullanıcı adı, şifre vb. gibi hassas verileri içerir. Oturum kapatılarak veya tarayıcı aniden kapatıldığında, bu tanımlama bilgileri her oturum için geçersiz kılınmalıdır. yeni bir çerez olmalı.

Çerezler geçersiz kılınmazsa, hassas veriler sistemde var olacaktır. Örneğin, herkese açık bir bilgisayar (Cyber ​​Cafe) kullanan bir kullanıcı, savunmasız sitenin çerezleri sisteme oturur ve bir saldırgana maruz kalır. Saldırgan bir süre sonra aynı ortak bilgisayarı kullanır, hassas veriler tehlikeye girer.

Aynı şekilde, ortak bir bilgisayar kullanan bir kullanıcı, oturumu kapatmak yerine tarayıcıyı aniden kapatır. Saldırgan aynı sistemi kullanır, aynı savunmasız siteye göz attığında, kurbanın önceki oturumu açılır. Saldırgan, profil bilgilerini, kredi kartı bilgilerini vb. çalmaktan ne isterse yapabilir.

Kimlik doğrulamanın ve oturum yönetiminin gücünü bulmak için bir kontrol yapılmalıdır. Anahtarlar, oturum belirteçleri, çerezler, şifrelerden ödün vermeden düzgün bir şekilde uygulanmalıdır.

Hassas Nesneler

  • URL'de açığa çıkan oturum kimlikleri, oturum sabitleme saldırısına neden olabilir.
  • Oturum kimlikleri, oturum kapatma ve oturum açmadan önce ve sonra aynıdır.
  • Oturum Zaman Aşımları doğru şekilde uygulanmadı.
  • Uygulama, her yeni oturum için aynı oturum kimliğini atamaktadır.
  • Uygulamanın kimliği doğrulanmış bölümleri SSL kullanılarak korunur ve parolalar karma veya şifreli biçimde saklanır.
  • Oturum, düşük ayrıcalıklı bir kullanıcı tarafından yeniden kullanılabilir.

Ima

  • Bu güvenlik açığından yararlanan bir saldırgan, bir oturumu ele geçirebilir, sisteme yetkisiz erişim elde edebilir ve bu da yetkisiz bilgilerin ifşa edilmesine ve değiştirilmesine olanak tanır.
  • Oturumlar, çalınan çerezler kullanılarak veya XSS kullanılarak oturumlar artırılabilir.

Örnekler

  1. Havayolu rezervasyon uygulaması, URL'ye oturum kimliklerini koyarak, URL'nin yeniden yazılmasını destekler:

    http://Examples.com/sale/saleitems;jsessionid=2P0OC2oJM0DPXSNQPLME34SERTBG/dest=Maldivler (Maldivler'e bilet satışı)

    Sitenin kimliği doğrulanmış bir kullanıcısı, arkadaşlarına satış hakkında bilgi vermek istiyor ve bir e-posta gönderiyor. Arkadaşlar oturum kimliğini alır ve yetkisiz değişiklikler yapmak veya kayıtlı kredi kartı bilgilerini kötüye kullanmak için kullanılabilir.

  2. Bir uygulama, bir saldırganın oturum kimliğine erişebileceği ve oturumu ele geçirmek için kullanılabileceği XSS'ye karşı savunmasızdır.
  3. Uygulama zaman aşımları düzgün ayarlanmamış. Kullanıcı ortak bir bilgisayar kullanır ve oturumu kapatmak yerine tarayıcıyı kapatır ve uzaklaşır. Saldırgan bir süre sonra aynı tarayıcıyı kullanır ve oturumun kimliği doğrulanır.

Öneriler

  1. Tüm kimlik doğrulama ve oturum yönetimi gereksinimleri, OWASP Uygulama Güvenliği Doğrulama Standardına göre tanımlanmalıdır.
  2. URL'lerde veya Günlüklerde asla kimlik bilgilerini ifşa etmeyin.
  3. Oturum kimliklerini çalmak için kullanılabilecek XSS kusurlarından kaçınmak için de güçlü çaba gösterilmelidir.

Güvensiz Doğrudan Nesne Referansları

Açıklama

Bir geliştirici, URL'de veya bir FORM parametresi olarak bir dosya, dizin veya veritabanı anahtarı gibi bir dahili uygulama nesnesine bir başvuru sunduğunda oluşur. Saldırgan, bu bilgileri diğer nesnelere erişmek için kullanabilir ve yetkisiz verilere erişmek için gelecekte bir saldırı oluşturabilir.

Ima

  • Saldırgan bu güvenlik açığını kullanarak yetkisiz dahili nesnelere erişim sağlayabilir, verileri değiştirebilir veya uygulamanın güvenliğini ihlal edebilir.

Hassas Nesneler

  • URL'de.

Örnekler:

Aşağıdaki URL'de 'kullanıcı kimliğini' değiştirmek, bir saldırganın diğer kullanıcıların bilgilerini görüntülemesine neden olabilir.

http://www.vulnerablesite.com/userid=123 Değiştirildi http://www.vulnerablesite.com/userid=124

Saldırgan, kullanıcı kimliği değerini değiştirerek diğerlerinin bilgilerini görüntüleyebilir.

Öneriler:

  1. Erişim kontrol kontrollerini uygulayın.
  2. URL'lerde nesne referanslarını göstermekten kaçının.
  3. Tüm referans nesneler için yetkilendirmeyi doğrulayın.

Siteler Arası İstek Sahteciliği

Açıklama

Siteler Arası İstek Sahteciliği, siteler arası gelen sahte bir istektir.

CSRF saldırısı, kötü amaçlı bir web sitesi, e-posta veya program, kullanıcının tarayıcısının, kullanıcının şu anda kimliğinin doğrulandığı güvenilir bir sitede istenmeyen bir eylem gerçekleştirmesine neden olduğunda meydana gelen bir saldırıdır.

Bir CSRF saldırısı, oturum açmış bir kurbanın tarayıcısını, kurbanın oturum tanımlama bilgisi ve otomatik olarak dahil edilen diğer kimlik doğrulama bilgileri de dahil olmak üzere, savunmasız bir web uygulamasına sahte bir HTTP isteği göndermeye zorlar.

Kullanıcı orijinal web sitesine giriş yaptığında URL'yi tıkladığında saldırgan tarafından kurbana bir bağlantı gönderilir, veriler web sitesinden çalınır.

Ima

  • Bu güvenlik açığını bir saldırgan olarak kullanmak, kullanıcı profili bilgilerini değiştirebilir, durumu değiştirebilir, yönetici adına yeni bir kullanıcı oluşturabilir vb.

Hassas Nesneler

  • Kullanıcı Profili sayfası
  • Kullanıcı hesabı formları
  • Ticari işlem sayfası

Örnekler

Kurban, geçerli kimlik bilgileri kullanılarak bir banka web sitesine giriş yaptı. Bir saldırgandan 'Lütfen buraya 1 $ bağışta bulunmak için tıklayın' diyen bir posta alır.

Kurban tıkladığında, belirli bir hesaba 1 ABD doları bağışlamak için geçerli bir talep oluşturulacaktır.

http://www.vulnerablebank.com/transfer.do?account=neden&amount=1

Saldırgan bu isteği yakalar ve aşağıdaki isteği oluşturur ve 'Nedeni Destekliyorum' yazan bir düğmeye yerleştirir.

http://www.vulnerablebank.com/transfer.do?account=Attacker&amount=1000

Oturumun kimliği doğrulandığından ve istek banka web sitesi üzerinden geldiğinden, sunucu saldırgana 1000 dolar transfer eder.

Öneri

  1. Hassas eylemler gerçekleştirirken kullanıcının varlığını zorunlu kılın.
  2. CAPTCHA, Yeniden Kimlik Doğrulama ve Benzersiz İstek Belirteçleri gibi mekanizmaları uygulayın.

Güvenlik Yanlış Yapılandırması

Açıklama

Güvenlik Yapılandırması, uygulama, çerçeveler, uygulama sunucusu, web sunucusu, veritabanı sunucusu ve platform için tanımlanmalı ve dağıtılmalıdır. Bunlar uygun şekilde yapılandırılırsa, bir saldırganın hassas verilere veya işlevlere yetkisiz erişimi olabilir.

Bazen bu tür kusurlar sistemden tamamen ödün verilmesine neden olur. Yazılımı güncel tutmak da iyi bir güvenliktir.

Ima

  • Saldırgan, bu güvenlik açığından yararlanarak, altta yatan teknolojiyi ve uygulama sunucusu sürüm bilgilerini, veritabanı bilgilerini sıralayabilir ve birkaç saldırı daha gerçekleştirmek için uygulama hakkında bilgi edinebilir.

Savunmasız nesneler

  • URL
  • Form Alanları
  • Giriş alanları

Örnekler

  1. Uygulama sunucusu yönetici konsolu otomatik olarak yüklenir ve kaldırılmaz. Varsayılan hesaplar değiştirilmez. Saldırgan varsayılan şifrelerle giriş yapabilir ve yetkisiz erişim elde edebilir.
  2. Sunucunuzda Dizin Listeleme devre dışı bırakılmamış. Saldırgan herhangi bir dosyayı bulmak için dizinleri keşfeder ve basitçe listeleyebilir.

Öneriler

  1. Bileşenler arasında iyi bir ayrım ve güvenlik sağlayan güçlü bir uygulama mimarisi.
  2. Varsayılan kullanıcı adlarını ve şifreleri değiştirin.
  3. Dizin listelerini devre dışı bırakın ve erişim kontrol kontrollerini uygulayın.

Güvensiz Kriptografik Depolama

Açıklama

Güvensiz Kriptografik depolama, hassas veriler güvenli bir şekilde depolanmadığında ortaya çıkan yaygın bir güvenlik açığıdır.

Kullanıcı kimlik bilgileri, profil bilgileri, sağlık bilgileri, kredi kartı bilgileri vb. bir web sitesinde hassas veri bilgilerine girer.

Bu veriler uygulama veritabanında saklanacaktır. Bu veriler şifreleme veya karma* kullanılmadan uygunsuz bir şekilde depolandığında, saldırganlara karşı savunmasız kalacaktır.

(*Hashing, dize karakterlerinin daha kısa sabit uzunlukta dizelere veya bir anahtara dönüştürülmesidir. Dizenin şifresini çözmek için anahtarı oluşturmak için kullanılan algoritma mevcut olmalıdır)

Ima

  • Saldırgan, bu güvenlik açığını kullanarak, kimlik hırsızlığı, kredi kartı sahtekarlığı veya diğer suçları işlemek için bu tür zayıf korunan verileri çalabilir, değiştirebilir.

Savunmasız nesneler

  • Uygulama veritabanı.

Örnekler

Bankacılık uygulamalarından birinde, şifre veritabanı, herkesin şifrelerini saklamak için tuzsuz karma * kullanır. Bir SQL enjeksiyon kusuru, saldırganın parola dosyasını almasına izin verir. Tüm tuzsuz karmalar hiçbir zaman kaba zorlanabilirken, tuzlu parolalar binlerce yıl alacaktır.

(*Tuzsuz Karmalar – Tuz, orijinal verilere eklenen rastgele bir veridir. Karma işleminden önce parolaya tuz eklenir)

Öneriler

  1. Uygun güçlü standart algoritmalar sağlayın. Kendi kriptografik algoritmalarını oluşturmayın. Yalnızca AES, RSA ortak anahtar şifrelemesi ve SHA-256 vb. gibi onaylanmış genel algoritmaları kullanın.
  2. Tesis dışı yedeklemelerin şifrelendiğinden emin olun, ancak anahtarlar ayrı olarak yönetilir ve yedeklenir.

URL Erişiminin kısıtlanmaması

Açıklama

Web uygulamaları, korumalı bağlantılar ve düğmeler oluşturmadan önce URL erişim haklarını kontrol eder. Uygulamaların, bu sayfalara her erişildiğinde benzer erişim kontrol kontrolleri yapması gerekir.

Uygulamaların çoğunda ayrıcalıklı sayfalar, konumlar ve kaynaklar ayrıcalıklı kullanıcılara sunulmaz.

Akıllı bir tahminle, bir saldırgan ayrıcalık sayfalarına erişebilir. Saldırgan hassas sayfalara erişebilir, işlevleri çağırabilir ve gizli bilgileri görüntüleyebilir.

Ima

  • Bu güvenlik açığından yararlanan saldırgan, uygulamaya giriş yapmadan yetkisiz URL'lere erişebilir ve güvenlik açığından yararlanabilir. Saldırgan hassas sayfalara erişebilir, işlevleri çağırabilir ve gizli bilgileri görüntüleyebilir.

Hassas nesneler:

  • URL'ler

Örnekler

  1. Saldırgan, URL'nin rolü '/user/getaccounts' olarak belirttiğini fark eder. '/admin/getaccounts' olarak değiştirir.
  2. Saldırgan, URL'ye rol ekleyebilir.

http://www.vulnerablsite.com olarak değiştirilebilir http://www.vulnerablesite.com/admin

Öneriler

  1. Güçlü erişim kontrol kontrolleri uygulayın.
  2. Kimlik doğrulama ve yetkilendirme politikaları rol tabanlı olmalıdır.
  3. İstenmeyen URL'lere erişimi kısıtlayın.

Yetersiz Taşıma Katmanı Koruması

Açıklama

Kullanıcı (istemci) ve sunucu (uygulama) arasındaki bilgi alışverişi ile ilgilenir. Uygulamalar sıklıkla kimlik doğrulama ayrıntıları, kredi kartı bilgileri ve oturum belirteçleri gibi hassas bilgileri bir ağ üzerinden iletir.

Zayıf algoritmalar kullanmak veya süresi dolmuş veya geçersiz sertifikalar kullanmak ya da SSL kullanmamak, iletişimin bir web uygulamasını tehlikeye atabilecek ve/veya hassas bilgileri çalabilecek güvenilmeyen kullanıcılara maruz kalmasına izin verebilir.

Ima

  • Bu web güvenlik açığından yararlanan bir saldırgan, meşru kullanıcının kimlik bilgilerini koklayabilir ve uygulamaya erişim sağlayabilir.
  • Kredi kartı bilgilerini çalabilir.

Savunmasız nesneler

  • Ağ üzerinden gönderilen veriler.

Öneriler

  1. Güvenli HTTP'yi etkinleştirin ve yalnızca HTTPS üzerinden kimlik bilgisi aktarımını zorunlu kılın.
  2. Sertifikanızın geçerli olduğundan ve süresinin dolmadığından emin olun.

Örnekler:

1. SSL kullanmayan bir uygulama, bir saldırgan ağ trafiğini izler ve kimliği doğrulanmış bir kurban oturumu tanımlama bilgisini gözlemler. Bir saldırgan bu çerezi çalabilir ve Ortadaki Adam saldırısı gerçekleştirebilir.

Doğrulanmamış Yönlendirmeler ve Yönlendirmeler

Açıklama

Web uygulaması, kullanıcıları belirli bir amaç için başka sayfalara yönlendirmek ve yönlendirmek için birkaç yöntem kullanır.

Diğer sayfalara yönlendirme yapılırken uygun bir doğrulama yoksa, saldırganlar bunu kullanabilir ve kurbanları kimlik avı veya kötü amaçlı yazılım sitelerine yönlendirebilir veya yetkisiz sayfalara erişmek için yönlendirmeleri kullanabilir.

Ima

  • Saldırgan, kullanıcıya, kodlanmış kötü amaçlı URL eklenmiş orijinal bir URL içeren bir URL gönderebilir. Bir kullanıcı sadece saldırgan tarafından gönderilen URL'nin orijinal kısmını görerek ona göz atabilir ve kurban olabilir.

Örnekler

1. http://www.vulnerablesite.com/login.aspx?redirectURL=ownsite.com

Değiştirildi

http://www.vulnerablesite.com/login.aspx?redirectURL=evilsite.com

Öneriler

  1. Uygulamada yönlendirmeleri ve yönlendirmeleri kullanmaktan kaçının. Kullanılıyorsa, hedefin hesaplanmasında kullanıcı parametrelerinin kullanılmasını dahil etmeyin.
  2. Hedef parametrelerden kaçınılamazsa, sağlanan değerin geçerli olduğundan ve kullanıcı için yetkilendirildiğinden emin olun.

Bu makale Prasanthi Eati tarafından sağlanmıştır.