Web Uygulama Güvenliği Konusunda Kendinizi Nasıl Geliştirebilirsiniz?

Ismail Tasdelen
DataBulls
Published in
8 min readMay 31, 2022

Bana gelen en çok sorulardan biri ise “Kendimi web uygulama güvenliği tarafında nasıl geliştirebilirim nasıl bir yol izlerim oluyor ?” Ben de bu sorulara istinaden bir blog yazmayı uygun gördüm. Bilgisayar alanı bilindiği üzere pratiğe dayalı bir iş pratik yaptıkça insan gelişiyor. Web uygulama güvenliği alanıda buna benzer sizin ne kadar pratik yaptığınız ve ne kadar farklı güvenlik sorunu bildiğiniz ile ilgili oluyor.

Photo by KeepCoding on Unsplash

Burada başlangıç olarak ilk izlenecek yol bence OWASP Top 10'e hakim olmak. İlk kez duyduğunuzu var sayarak OWASP nedir bundan bahsetmek istiyorum. OWASP, web uygulamalarındaki güvenlik açıklarının kapatılması ve bu uygulamaların güvenli bir şekilde korunmasını sağlamak için çalışmalar yapan özgür bir topluluk, bu topluluğun bellirli yıl aralıklarında yayınladığı en çok öne çıkan güvenlik açıklıkları listeleri yer almakta. Buradaki zafiyetleri öğrenirken hem nasıl istismar edilebileceğinizi hemde buna karşı nasıl bir güvenlik çözümü sağlayabileceğinizi öğrenmelisiniz. Ben web güvenliğini bir ağacın dallarına benzetiyorum. Her ana dalda alt bir çok dallanma olabiliyor. Örnek verecek olursak Injection kategorisine ait bir çok farklı Injection türü mevcut. Malesef ki bu iş sadece OWASP Top 10 ile de sınırlı değil bu sadece bu dağının görünen bir tarafı diyebiliriz.

Web uygulama güvenliğine dair pratik yapabileceğiz ortamlar neler ?

Pratik yapmak önemli bu yüzden de bir kaç tane kurcalayabileceğiniz lab ortamlarını bu yazıda bir araya getirdim.

  1. Portswigger- Web Security Academy
Portswigger- Web Security Academy

Listenin bir numarasına Portswigger’ın Web Security Academy programını ekledim çünkü içerisinde yüzden fazla challange bulunmasıyla beraber çok öğretici bir deneyim sağladığını söyleyebilirim. Aynı zamanda bu pratik eğitim ortamı “Burp Suite Certified Practitioner” sertifikası içinde bir hazırlık niteliğinde oluyor.

2. Buggy Web Application (BWAPP)

Buggy Web Application (BWAPP), öğrenciler, geliştiriciler ve güvenlik uzmanları için harika bir ücretsiz ve açık kaynak aracıdır. MySQL veritabanına dayanan bir PHP uygulamasıdır. Bu zafiyetli web uygulaması sayesinde 100'den fazla zafiyetli senaryo üzerinde pratik yapabilirsiniz.

3. (DVWA) Güvenlik Açığı Web Uygulaması

(DVWA) Güvenlik Açığı Web Uygulaması , hem web geliştiricileri hem de güvenlik uzmanları için harika bir araçtır. Temel olarak, SQL enjeksiyonlarına ve diğer yaygın saldırılara karşı savunmasız olacak şekilde tasarlanmış bir MySQL/PHP web uygulamasıdır.

DVWA’da, sundukları her tür güvenlik açığı için düşük, orta, yüksek ve “imkansız” güvenlik seviyeleri arasında geçiş yapma seçeneğiniz vardır. Bu size, farklı ortamlarda bulunabilecek güvenlik açıklarından yararlanma veya bunlara karşı savunma yapma pratiği yapma şansı verir. Ayrıca, kendinize daha fazla meydan okumanıza ve daha fazla odaklanmanız gereken alanları incelemenize olanak tanır.

4. OWASP Juice Shop

OWASP Juice Shop

OWASP Juice Shop, muhtemelen en modern ve sofistike güvensiz web uygulamasıdır! Juice Shop, Node.js, Express ve Angular’da yazılmıştır. Güvenlik eğitimlerinde, farkındalık demolarında, CTF’lerde ve güvenlik araçları için test amaçlı olarak kullanılabilir! Juice Shop, gerçek dünyadaki uygulamalarda bulunan diğer birçok güvenlik açığıyla birlikte tüm OWASP İlk On’daki güvenlik açıklarını kapsar.

Uygulama, kullanıcının temeldeki güvenlik açıklarından yararlanmasının beklendiği, değişen zorluk derecelerinde çok sayıda bilgisayar korsanlığı mücadelesi içerir. Bilgisayar korsanlığının ilerlemesi bir skor tahtasında izlenir. Bu puan tablosunu bulmak aslında (kolay) zorluklardan biridir! Bilgisayar korsanı ve farkındalık eğitimi kullanım durumunun yanı sıra, sızma testi yapan proxy’ler veya güvenlik tarayıcıları, Juice Shop’u araçlarının JavaScript ağırlıklı uygulama ön uçları ve REST API’leri ile ne kadar iyi başa çıktığını kontrol etmek için bir “kobay” uygulaması olarak kullanabilir.

5. Hellbound Hackers

Temel olarak, odak noktası, diğer bilgisayar korsanlarının bir siteye nasıl girileceğini veya diğer bilgisayar korsanlarının bunu yapmasını nasıl önleyeceklerini öğrenmelerine yardımcı olmak olan büyük bir çevrimiçi bilgisayar korsanları topluluğudur. Site, farklı konularda çok sayıda makale, tartışmalar için bir web forumu ve kullanıcıların kodu paylaşıp gözden geçirebileceği bir kod bankası ile iftihar etmektedir. Hellbound Hacker’ların ayrıca beceri düzeylerine, kodlama dillerine ve belirli ilgi alanlarına göre insanlar için bir dizi zorluğu vardır.

6. ThisIsLegal

ThisIsLegal, bilgisayar korsanlarının zanaatlarını uygulamaları için başka bir savaş oyunu sitesidir. Fikirleri paylaşmak için web forumlarının yanı sıra öğrenebileceğiniz farklı konularda çeşitli eğitimler içerir.

Halihazırda ele aldığımız diğer çevrimiçi toplulukların bazıları kadar aktif bir site olmasa da, en azından bahsetmeye ve bu savunmasız web siteleri ve web uygulamaları listesine dahil edilmeye değer.

7. Game Of Hacks

Game of Hacks, oyun formatında gelen bu eğlenceli bilgisayar korsanlığı web sitelerinden biridir. Güvenlik açıklarını analiz etmeniz için kod parçaları sunar ve uygulama korsanlığı becerilerinizi ve bilginizi test etmenize olanak tanır.

Başlangıç, orta seviye veya ileri düzey oyuncu olarak oynamayı seçebilirsiniz. Ayrıca tek başınıza gidebilir veya bir arkadaşınıza meydan okuma seçeneğine sahip olabilirsiniz. Onu daha da güzel yapan şey ise oyuna kendi kodunuzu ekleyerek ortalığı karıştırabilmeniz.

Web uygulama güvenlik testlerinde hangi araçları kullanabilirsiniz ?

  1. Burp Suite :
Burp Suite

Her güvenlik araştırmacılarının favori araçları vardır; Pek çok listenin başında yer alacağı kesin olan bir tanesi Burp Suite. Burp Suite, web uygulaması güvenlik testi için kapsamlı bir platformdur. Tarayıcılardan bir web sayfasına giden trafiği yakalayan bir aracı görevi görebilir ve web sayfası isteklerindeki değişiklikleri değiştirmenize ve otomatikleştirmenize olanak tanır. Burp Suite, web uygulamalarının ayrıntılı numaralandırılması ve analizi için de kullanılabilir. Ve bu harika araç sadece 400$ bug bounty yaparak bunun yıllık lisans ücretini rahatlıkla ödemeniz mümkün.

Neden burp suite kullanmanız gerektiğini anlattığım yazıma göz atabilirsiniz.

2. Postman :

Postman

Tam olarak bir güvenlik aracı olmasada bu araç backend apilerini test emek için oldukça kullanışlı bir rest client’tır. Bu araç sayesinde api güvenlik testlerini gerçekleştirebilirsiniz. Sıklıkla kullandığım araçlar arasında olduğu için listede yer vermek istedim.

3. Keşif için Kullanabileceğiniz Araçlar

Photo by Polina Silivanova on Unsplash

Bir web uygulama güvenlik testlerinde keşif oldukça önemlidir. Özellikle bu testi Black Box olarak yapıyorsanız. Tarafınıza hiç bir şekilde kapsam verilmeyeceği için saldırı yüzeyini kendiniz bulmalı ve keşfetmelisiniz. İşte size bu konuda önerebileceğim bazı araçlar.

  • OWASP Amass
  • SubBrute
  • Knock
  • DNSRecon
  • Sublist3r
  • Aquatone
  • Subfinder

Tabi burada çeşitli kategoriler altında bir çok araç var fakat ben burada fikir edinmeniz adına kısaca bahsetmiş oldum. Zaten ufak bir googlelama yaparak bulabileceğinizi düşünüyorum.

4. Bulgularınızı Düzenli Bir Şekilde Not Almanızı Sağlayan Uygulamalar

Photo by Marten Bjork on Unsplash

Web uygulama testi yapmak kadar test esnasında bulduğunuz bulguların düzenli bir şekilde not edilmesi oldukça önemli olduğuna inanıyorum. Çünkü test bittikten sonra ki aşama bu bulguların rapora dahil edilmesidir. Raporu yazan ekip arkadaşınız almış olduğunuz notları kolayca anlamalı ve rapora yerleştiriyor olabilmelidir. Bu yüzden de önereceğim bir kaç not alma uygulmasınada değiniyor olacağım.

  • Keepnote
  • CherryTree
  • Notion
  • SwiftnessX
  • Evernote

Web uygulama güvenlik testlerinde hangi browser eklentileri işinize yarabilir ?

Photo by Remotar Jobs on Unsplash
  • Hackbar
  • Cookie-Editor
  • Hack-Tools
  • HTTP Header Live
  • Firefox Multi-Account Containers
  • Wappalyzer
  • Flagfox
  • JSONView
  • User-Agent Switcher and Manager
  • HackBar Quantum
  • HackBar V2
  • FoxyProxy Standard
  • HackTools
  • XML Viewer Plus

Kaynak kod güvenliği araçları nelerdir ?

Photo by Markus Spiske on Unsplash

Kaynak kod güvenliği testlerinde bazı araçlardan faydalanıyoruz. Bunlara Micro Focus Fortify Static Code Analzyer, SonarQube, Checkmarx ve Coverity gibi araçları örnek olarak gösterebiliriz. Bu araçlar malesef ücretsiz araçlar değil genellikle güvenlik takımı bulunan ve bu işi yapan şirketler tarafından tercih edilmektedir.

Web uygulama güvenliği bilginizi hangi kitaplar ile artırabilirsiniz ?

Photo by Sharon McCutcheon on Unsplash
  • The Web Application Hacker’s Handbook: Discovering and Exploiting Security Flaws
  • The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws
  • Web Application Security: Exploitation and Countermeasures for Modern Web Applications
  • Hack, Learn, Earn
  • Real-World Bug Hunting: A Field Guide to Web Hacking
  • Bug Bounty Bootcamp: The Guide to Finding and Reporting Web Vulnerabilities
  • ASP.NET Core 5 Secure Coding Cookbook : Practical recipes for tackling vulnerabilities in your ASP.NET web applications
  • Developer’s Guide to Web Application Security

Neden web uygulama güvenliği konusunda bug bounty bu kadar önemli ?

Photo by Nagara Oyodo on Unsplash

Çünkü her güvenlik araştırmacısının farklı bir bakış açısı ve farklı bir bilgi birikimi var. Bu sayede sistemler farklı gözler altında incelenerek spesifik güvenlik açıkları bulunabiliyor. Bu yüzden de web güvenliğinin korunması konsunda oldukça büyük bir önemi bulunuyor. Pratik yapacağınız sistemler üzerinde web güvenlik açıklarını öğrendiniz bu bilgi birikiminizi bug bounty yaparak yoğunlaştırmanızı öneriyorum. Böylece çok farklı test ortamları görmüş olup farklı bakış açıları yaklaşarak güvenlik sorunlarını bulmaya çalışacaksınız. İşte bu yüzden de bug bounty yapmanın web güvenliği tarafında kendinizi geliştirmeniz konusunda önemli bir yeri olduğunu düşünüyorum. Bu tam olarak öğrenme yaşam döngüsü şeklinde ilerliyor. Daha fazla bilgi daha fazla deneme ve soncunda elinde sonunda bulgu çıkarmanıza yarıyor. Ayrıca ülkemizdeki ekonomik durumu düşününce döviz kazanmak oldukça mantıklı. Bunu boş bir zamanınızda hafta sonunuzda yapmakta mümkün. Bu konuda daha detaylı bir yazı yazıyor olucam.

Kaydolmanız gereken bug bounty programları nelerdir ?

Photo by James Wainscoat on Unsplash
  • HackerOne
  • Bugcrowd
  • Open Bug Bounty
  • Intigriti
  • YesWeHack
  • Synack ( Özel )
  • Zerocopter ( Özel )
  • HackenProof
  • bugbounter ( Yerli )

Web uygulama güvenliği için tavsiye edilen sertifikayonlar nelerdir ?

Photo by Lewis Keegan on Unsplash
  • GIAC Web Application Penetration Tester (GWAPT)
  • GIAC Certified Web Application Defender (GWEB)
  • elearnSecurity eWPT Certification
  • elearnSecurity eWPTXv2 Certification
  • Offensive Security Web Expert (OSWE)
  • Burp Suite Certified Practitioner

Web uygulama güvenliği tarafında kendinizi geliştirmeniz konularında bazı tavsiyeler;

Photo by John Schnobrich on Unsplash
  1. Denemekten korkmayın bu işin temeli pratiğe dayalı olduğu için deneme yaparak kendinizi geliştirmeniz mümkün.
  2. Ne arıyorsanız, onu bulursunuz. Güvenlik araştırmacıları kaç adet güvenlik sorunu veya bakış açısı elde ederse genelde bunu aramaya odaklanıyor bu yüzden de sürekli yeni güvenlik sorunlarını öğrenmek karşınıza çıkabilecek sorunları değerlendirmenize araştırmanıza katı sağlayacaktır.
  3. Bu güvenlik testlerini yaparken adımları sırasıyla ve düzenli gitmenin faydasını gördüğümü söyleyebilirim. Bu yüzden de işimi yaparken not tutmaya düzenli olmaya dikkat ediyorum.
  4. Yazılım geliştirin en azından mantığını kavrayın. Bir yazılım geliştiştirme süreci nasıl işliyor bunu bilmezseniz daha ileri seviyede güvenlik açıkları bulmanız oldukça zor olabilir.

Genel olarak web uygulama güvenliği konusunda kendinizi nasıl geliştirebilirsiniz sorusuna cevap vermiş oldum. Bir sonra ki yazımda görüşmek üzere kendinize iyi bakın.

Diğer Yazılar:

--

--

Ismail Tasdelen
DataBulls

I'm Ismail Tasdelen. I have been working in the cyber security industry for +7 years. Don't forget to follow and applaud to support my content.