beginners guide web application penetration testing
Penetrasyon testi aka Pen Testi, web uygulamaları için en yaygın kullanılan güvenlik testi tekniğidir.
Web Uygulama Sızma Testi, hassas verilere erişim sağlamak için dahili veya harici yetkisiz saldırıları simüle ederek yapılır.
Bir web penetrasyonu, son kullanıcının bir bilgisayar korsanının internetten verilere erişme, e-posta sunucularının güvenliğini bulma ve ayrıca web barındırma sitesinin ve sunucusunun ne kadar güvenli olduğunu öğrenmesine yardımcı olur.
Şimdi bu makalenin içeriğini ele alalım.
tutulmada yeni java projesi nasıl oluşturulur
(resim kaynak )
Bu penetrasyon testi eğitiminde şunları kapsamaya çalıştım:
- Web uygulama testi için Pentest ihtiyacı,
- Pentest için mevcut standart metodoloji,
- Web uygulaması Pentest için yaklaşım,
- Yapabileceğimiz test türleri nelerdir,
- Sızma testi yapmak için atılacak adımlar,
- Test için kullanılabilecek araçlar,
- Sızma testi hizmet sağlayıcılarından bazıları ve
- Web Penetrasyon testi için Sertifikalardan bazıları
Önerilen Güvenlik Açığı Tarama Araçları:
# 1) Net Parker
Netsparker, web sitelerinizdeki gerçek ve istismar edilebilir güvenlik açıklarını belirlemek için kullanabileceğiniz, kullanımı kolay ve otomatik web uygulama güvenlik test platformudur.
#iki) Kiuwan
SDLC'nin her aşamasında kodunuzdaki güvenlik açıklarını bulun ve düzeltin.
Kiuwan, OWASP, CWE, SANS 25, HIPPA ve daha fazlası dahil olmak üzere en katı güvenlik standartlarıyla uyumludur. Geliştirme sırasında anında geri bildirim almak için Kiuwan'ı IDE'nize entegre edin. Kiuwan, tüm büyük programlama dillerini destekler ve önde gelen DevOps araçlarıyla entegre olur.
=> Kodunuzu ücretsiz tarayınNe öğreneceksin:
- Sızma Testi Neden Gereklidir?
- Web Sızma Testi Metodolojisi
- Web Sızma Testi Türleri
- Web Kalem Testi Yaklaşımı:
- En İyi Sızma Testi araçları
- En İyi Sızma Testi Firmaları
- Bazı Sızma Testi Sertifikaları:
- Sonuç
- Önerilen Kaynaklar
Sızma Testi Neden Gereklidir?
Güvenlik hakkında konuştuğumuzda, duyduğumuz en yaygın kelime Güvenlik Açığı .
Başlangıçta bir güvenlik testçisi olarak çalışmaya başladığımda, bu Güvenlik Açığı kelimesiyle çok sık kafam karışırdı ve eminim ki birçoğunuz, okuyucularım aynı gemiye düşerdi.
Tüm okuyucularımın yararı için, öncelikle güvenlik açığı ve kalem testi arasındaki farkı açıklığa kavuşturacağım.
Öyleyse ne Güvenlik Açığı ? Güvenlik açığı, sistemi güvenlik tehditlerine maruz bırakabilecek sistemdeki kusurları tanımlamak için kullanılan bir terminolojidir.
Güvenlik Açığı Taraması mı Kalem Testi mi?
Güvenlik Açığı Taraması, kullanıcının uygulamadaki bilinen zayıflıkları bulmasını sağlar ve uygulamanın genel güvenliğini düzeltmek ve iyileştirmek için yöntemler tanımlar. Temel olarak, güvenlik yamalarının kurulu olup olmadığını, sistemlerin saldırıları zorlaştıracak şekilde yapılandırılıp yapılandırılmadığını öğrenir.
Kalem Testleri esas olarak gerçek zamanlı sistemleri simüle eder ve kullanıcının sisteme yetkisiz kullanıcılar tarafından erişilip erişilemeyeceğini, evet ise, hangi hasara neden olabileceği ve hangi verilere vb.
Bu nedenle, Güvenlik Açığı Taraması, güvenlik programını iyileştirme ve bilinen zayıflıkların yeniden ortaya çıkmamasını sağlamanın yollarını öneren bir dedektif kontrol yöntemidir; oysa kalem testi, sistemin mevcut güvenlik katmanının genel görünümünü veren önleyici bir kontrol yöntemidir.
Yine de, her iki yöntemin de önemi vardır, ancak testin bir parçası olarak gerçekten ne beklendiğine bağlı olacaktır.
Test uzmanları olarak, teste geçmeden önce testin amacı konusunda net olmak zorunludur. Hedef konusunda netseniz, bir güvenlik açığı taraması veya kalem testi yapmanız gerekip gerekmediğini çok iyi tanımlayabilirsiniz.
Web Uygulaması Kalem Testinin önemi ve ihtiyacı:
- Pentest Bilinmeyen güvenlik açıklarının belirlenmesine yardımcı olur.
- Genel güvenlik politikalarının etkinliğini kontrol etmeye yardımcı olur.
- Güvenlik duvarları, yönlendiriciler ve DNS gibi halka açık olan bileşenlerin test edilmesine yardımcı olun.
- Kullanıcının saldırı yapılabilecek en savunmasız yolu bulmasını sağlar
- Hassas verilerin çalınmasına neden olabilecek boşlukların bulunmasına yardımcı olur.
Mevcut pazar talebine bakarsanız, mobil kullanımda keskin bir artış oldu ve bu da saldırılar için büyük bir potansiyel haline geliyor. Web sitelerine cep telefonlarından erişmek, daha sık saldırılara ve dolayısıyla verilerden ödün vermeye eğilimlidir.
Penetrasyon Testi, kullanıcılar tarafından herhangi bir bilgisayar korsanlığı veya veri kaybı endişesi olmadan kullanılabilecek güvenli bir sistem oluşturmamızı sağlamada çok önemli hale geliyor.
Web Sızma Testi Metodolojisi
Metodoloji, testin nasıl yapılması gerektiğine dair bir dizi güvenlik endüstrisi yönergesinden başka bir şey değildir. Test için kullanılabilecek bazı köklü ve ünlü metodolojiler ve standartlar vardır, ancak her web uygulaması farklı test türlerinin yapılmasını gerektirdiğinden, test uzmanları piyasada bulunan standartlara başvurarak kendi metodolojilerini oluşturabilirler.
Güvenlik Testi Metodolojileri ve standartlarından bazıları şunlardır:
- OWASP (Açık Web Uygulama Güvenliği Projesi)
- OSSTMM (Açık Kaynak Güvenlik Testi Metodoloji Kılavuzu)
- PTF (Sızma Testi Çerçevesi)
- ISSAF (Bilgi Sistemleri Güvenlik Değerlendirme Çerçevesi)
- PCI DSS (Ödeme Kartı Sektörü Veri Güvenliği Standardı)
Test Senaryoları:
Aşağıda, testin parçası olarak test edilebilecek bazı test senaryoları listelenmiştir. Web Uygulaması Sızma Testi (WAPT):
- Siteler Arası Komut Dosyası
- SQL Enjeksiyonu
- Bozuk kimlik doğrulama ve oturum yönetimi
- Dosya Yükleme kusurları
- Sunucu Saldırılarını Önbelleğe Alma
- Yanlış Güvenlik Yapılandırmaları
- Siteler Arası İstek Sahteciliği
- Şifre Kırma
Listeden bahsetmiş olsam da, test uzmanları test metodolojilerini yukarıdaki geleneksel standartlara göre körü körüne oluşturmamalıdır.
İşte birmisalneden böyle söylediğimi kanıtlamak için.
Bir e-Ticaret web sitesine sızma testi yapmanız istendiğini düşünün, şimdi bir e-Ticaret web sitesinin tüm güvenlik açıklarının XSS, SQL enjeksiyonu gibi geleneksel OWASP yöntemleri kullanılarak belirlenip belirlenemeyeceğini düşünün.
Cevap Hayır çünkü e-ticaret diğer Web Sitelerine kıyasla çok farklı bir platform ve teknolojide çalışıyor. E-Ticaret web sitesi için kalem testinizi etkili hale getirmek için, test uzmanlarının Sipariş Yönetimi, Kupon ve Ödül Yönetimi, Ödeme Geçidi Entegrasyonu ve İçerik Yönetim Sistemi Entegrasyonu gibi kusurları içeren bir metodoloji tasarlaması gerekir.
yardım masası mülakat soruları ve cevapları teknik
Bu nedenle, metodolojiye karar vermeden önce, hangi web sitesi türlerinin test edileceğinden ve hangi yöntemin maksimum güvenlik açıklarını bulmaya yardımcı olacağından emin olun.
Web Sızma Testi Türleri
Web uygulamaları 2 şekilde penetrasyon testi yapılabilir. Testler, içeriden veya dışarıdan bir saldırıyı simüle etmek için tasarlanabilir.
# 1) İç Sızma Testi -
Adından da anlaşılacağı gibi, dahili kalem testi, organizasyon içinde LAN üzerinden yapılır, dolayısıyla intranette barındırılan web uygulamalarının test edilmesini içerir.
Bu, kurumsal güvenlik duvarında bulunan güvenlik açıklarının bulunup bulunmadığını bulmaya yardımcı olur.
Her zaman saldırıların yalnızca dışarıdan olabileceğine ve çoğu zaman dahili Pentest'in göz ardı edildiğine veya çok fazla önem verilmediğine inanıyoruz.
Temel olarak, iç güvenlik politikaları ve parolaları, Sosyal Mühendislik Saldırıları, Kimlik Avı Saldırıları Simülasyonu ve Kullanıcı Ayrıcalıklarını kullanan Saldırılar veya kilitli olmayan bir terminalin kötüye kullanılması konusunda istifa edecek hoşnutsuz çalışanlar veya yükleniciler tarafından yapılan Kötü Amaçlı Çalışan Saldırılarını içerir.
Test, esas olarak ortama uygun kimlik bilgileri olmadan erişilerek ve
#iki) Harici Sızma Testi -
Bunlar, kuruluş dışından dışarıdan yapılan ve internette barındırılan web uygulamalarının test edilmesini içeren saldırılardır.
Testçiler, dahili sistemin pek farkında olmayan bilgisayar korsanları gibi davranırlar.
veri ambarındaki meta veri türleri
Bu tür saldırıları simüle etmek için, test uzmanlarına hedef sistemin IP'si verilir ve başka herhangi bir bilgi verilmez. Genel web sayfalarını aramaları ve taramaları ve hedef ana bilgisayarlar hakkındaki bilgilerimizi bulmaları ve ardından bulunan ana bilgisayarları tehlikeye atmaları gerekir.
Temel olarak, test sunucuları, güvenlik duvarları ve IDS'yi içerir.
Web Kalem Testi Yaklaşımı:
3 aşamada gerçekleştirilebilir:
# 1) Planlama Aşaması (Testten Önce)
Test başlamadan önce, ne tür testlerin gerçekleştirileceğini, testin nasıl gerçekleştirileceğini, KG'nin araçlara herhangi bir ek erişime ihtiyaç duyup duymadığını vb. Planlamanız önerilir.
- Kapsam tanımı - Bu, test çalışmalarımıza başlamadan önce testimizin kapsamını tanımladığımız fonksiyonel testimizle aynıdır.
- Belgelerin Test Ediciler için Kullanılabilirliği - Test Uzmanlarının web mimarisini, entegrasyon noktalarını, web hizmetleri entegrasyonunu vb. Detaylandıran belgeler gibi gerekli tüm belgelere sahip olduğundan emin olun. Test uzmanı, HTTP / HTTPS protokolünün temellerinden haberdar olmalı ve Web Uygulama Mimarisi, trafik durdurma yolları hakkında bilgi sahibi olmalıdır.
- Başarı Kriterlerinin Belirlenmesi - Kullanıcı gereksinimlerinden / işlevsel gereksinimlerden beklenen sonuçları elde edebileceğimiz işlevsel test senaryolarımızdan farklı olarak, kalem testi farklı bir model üzerinde çalışır. Başarı kriterleri veya test senaryosu geçme kriterleri tanımlanmalı ve onaylanmalıdır.
- Önceki Testin test sonuçlarını gözden geçirme - Önceden test yapıldıysa, geçmişte hangi güvenlik açıklarının bulunduğunu ve çözmek için hangi düzeltmelerin yapıldığını anlamak için test sonuçlarını gözden geçirmek iyidir. Bu her zaman test yapanların daha iyi bir resmini verir.
- Çevreyi anlamak - Test uzmanları, teste başlamadan önce çevre hakkında bilgi edinmelidir. Bu adım, güvenlik duvarlarını veya testi gerçekleştirmek için devre dışı bırakılması gereken diğer güvenlik protokollerini anlamalarını sağlamalıdır. Test edilecek tarayıcı, genellikle proxy değiştirilerek yapılan bir saldırı platformuna dönüştürülmelidir.
# 2) Saldırılar / Yürütme Aşaması (Test Sırasında):
İnternet sağlayıcısı tarafından bağlantı noktalarında ve hizmetlerde kısıtlama olmaması gerektiği göz önüne alındığında, Web Penetrasyon testi herhangi bir yerden yapılabilir.
- Farklı kullanıcı rolleriyle bir test çalıştırdığınızdan emin olun - Sistem, farklı ayrıcalıklara sahip kullanıcılara göre farklı davranabileceğinden, test uzmanları farklı rollere sahip kullanıcılarla testler çalıştırmayı sağlamalıdır.
- Sömürü Sonrası ile nasıl başa çıkılacağına dair farkındalık - Test uzmanları, herhangi bir istismarı bildirmek için Aşama 1'in bir parçası olarak tanımlanan Başarı Kriterlerini izlemeli, ayrıca test sırasında bulunan tanımlanmış güvenlik açıklarını raporlama sürecini de izlemelidir. Bu adım, esas olarak, test edenin sistemin tehlikeye düştüğünü bulduktan sonra ne yapılması gerektiğini bulmasını içerir.
- Test Raporlarının Oluşturulması - Düzgün raporlama olmadan yapılan herhangi bir Test, kuruluşa pek yardımcı olmaz, aynı durum web uygulamalarının sızma testi için de geçerlidir. Test sonuçlarının tüm paydaşlarla düzgün bir şekilde paylaşıldığından emin olmak için, test uzmanları bulunan güvenlik açıkları, test için kullanılan metodoloji, bulunan sorunun ciddiyeti ve konumu hakkında ayrıntılar içeren uygun raporlar oluşturmalıdır.
# 3) Yürütme Sonrası Aşaması (Testten Sonra):
Test tamamlandıktan ve test raporları ilgili tüm ekiplerle paylaşıldıktan sonra, aşağıdaki liste üzerinde herkes tarafından çalışılmalıdır -
- Düzeltme önerin - Kalem Testi sadece güvenlik açıklarını belirleyerek bitmemelidir. Bir QA üyesi de dahil olmak üzere ilgili ekip, Test Uzmanları tarafından bildirilen bulguları gözden geçirmeli ve ardından düzeltmeyi tartışmalıdır.
- Güvenlik Açıklarını Yeniden Test Et - Düzeltme alındıktan ve uygulandıktan sonra, test uzmanları, sabit güvenlik açıklarının yeniden testlerinin bir parçası olarak görünmediğinden emin olmak için yeniden test etmelidir.
- Temizlemek - Pentest'in bir parçası olarak, test uzmanları proxy ayarlarında değişiklik yapar, bu nedenle temizleme yapılmalı ve tüm değişiklikler geri alınmalıdır.
En İyi Sızma Testi araçları
Şimdi, makalenin tamamını okuduğunuza göre, bir web uygulamasında neyi ve nasıl sızma testi yapabileceğimiz konusunda artık çok daha iyi bir fikriniz olduğuna inanıyorum.
Öyleyse söyle bana, Penetrasyon testini manuel olarak yapabilir miyiz yoksa her zaman bir araç kullanarak otomatikleştirerek mi oluyor? Şüphesiz, çoğunuzun Otomasyon dediğini düşünüyorum. :)
Bu doğrudur çünkü otomasyon hız sağlar, manuel insan hatasını önler, mükemmel kapsam ve diğer birçok faydayı önler, ancak Pen Testi söz konusu olduğunda, bazı manuel testler yapmamızı gerektirir.
Manuel Test, İş Mantığı ile ilgili güvenlik açıklarının bulunmasına yardımcı olarak yanlış pozitifleri azaltır.
Araçlar çok sayıda yanlış pozitif verme eğilimindedir ve bu nedenle bunların gerçek güvenlik açıkları olup olmadığını belirlemek için manuel müdahale gereklidir.
Ayrıca Oku - Acunetix Web Güvenlik Açığı Tarayıcısı (WVS) aracını Kullanarak Web Uygulaması Güvenliği Nasıl Test Edilir
Test çabalarımızı otomatikleştirmek için araçlar oluşturulmuştur. Pentest için kullanılabilecek bazı araçların listesini aşağıda bulabilirsiniz:
Daha fazla araç için ayrıca başvurabilirsiniz. - Her Penetrasyon Test Cihazı İçin 37 Güçlü Kalem Test Aracı
En İyi Sızma Testi Firmaları
Servis Sağlayıcılar, kuruluşların test ihtiyaçlarına yönelik hizmetler sunan şirketlerdir. Genellikle farklı test alanlarında uzmanlaşırlar ve uzmanlığa sahiptirler ve barındırılan test ortamında test gerçekleştirebilirler.
Aşağıda, sızma testi hizmetleri sunan önde gelen şirketlerden bazıları yer almaktadır:
- PSC (Payments Güvenlik Uyumluluğu)
- Netragard
- Securestate
- Kömür ateşi
- HIGHBIT Güvenliği
- Nettitude
- 360
- NetSPi
- ControlScan
- Skods Minotti
- 2 | Sn
- Güvenlik değerlendirmesi
- Güvenlik Denetim Sistemleri
- Hacklabs
- CQR
Bazı Sızma Testi Sertifikaları:
Web uygulaması penetrasyon sertifikası almakla ilgileniyorsanız, aşağıdaki sertifikaları seçebilirsiniz:
- OSWE (Saldırgan Güvenlik Web Uzmanı)
- GWAPT (GIAC Web Uygulaması Penetrasyon Test Cihazı)
- CWAPT (Sertifikalı Web Uygulaması Penetrasyon Test Cihazı)
- eWPT (elearnSecurity Web Uygulaması Penetrasyon Test Cihazı)
Sonuç
Bu eğiticide, web uygulamaları için sızma testinin nasıl yapıldığına dair bir genel bakış sunduk.
Bu bilgilerle, sızma testi yapan kişi güvenlik açığı testlerine başlayabilir.
İdeal olarak, sızma testi, güvenli yazılım oluşturmamıza yardımcı olabilir. Maliyetli bir yöntem olduğundan sıklığı yılda bir kez tutulabilir.
Penetrasyon Testi hakkında daha fazla bilgi edinmek için lütfen aşağıdaki ilgili makaleleri okuyun:
- Web Uygulamalarının Güvenlik Testi için bir yaklaşım
- Sızma Testi - Örnek Test Durumlarıyla Tam Kılavuz
- Uygulama Güvenliği Nasıl Test Edilir - Web ve Masaüstü Uygulama Güvenliği Test Teknikleri
Lütfen Pentest ile ilgili görüşlerinizi veya deneyimlerinizi aşağıda paylaşın.
Önerilen Kaynaklar
- Web Uygulaması Güvenliği Test Kılavuzu
- Ağ Güvenliği Testi ve En İyi Ağ Güvenliği Araçları
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Alfa Testi ve Beta Testi (Tam Kılavuz)
- Güvenlik Testi (Tam Kılavuz)
- Örnek Test Durumlarıyla Tam Bir Penetrasyon Testi Kılavuzu
- Mobil Uygulama Sızma Testi Araçları ve Servis Sağlayıcıları
- Masaüstü, İstemci Sunucu Testi ve Web Testi arasındaki fark