Burp Suite ile API Güvenlik Testi

Bu yazıda Burp Suite'in API'leri test etmek için nasıl kullanılabileceğine göz atacağız. Daha önceki yazılarımda web uygulaması güvenlik testi için kullanılabilecek Burp Suite'in çeşitli araçlarını gördük. Artık günümüzde modern web uygulamalarıbir çok teknoloji ile bağlantılı ve birlikte çalışmaktadır. Bunu Application Programming Interfaces (API'ler) kullanılarak yapmaktadırlar.

API'leri açığa çıkarmak, görevlerin otomatikleştirilmesine önemli ölçüde yardımcı olur; ancak, aynı zamanda, güvenli bir şekilde uygulanmazsa, güvenlik riskleri de ortaya çıkarır. Web uygulaması güvenlik açıklarının çoğu API'ler için geçerli olsa da, API'lere özgü birkaç güvenlik açığı bulunmaktadır. https://owasp.org/www-project-api-security/ adresinde OWASP tarafından API'ler için en çok karşılaşılan 10 güvenlik açığı listesi yer almaktadır. Burp Suite aracılığıyla API'lerin güvenlik testi yaklaşımı, şu ana kadar gördüğümüz normal web uygulamalarına çok benzer. API'ler HTTP / HTTPS protokolü üzerinden iletişim kurdukça, trafik, tıpkı diğer normal web uygulaması istekleri ve yanıtları gibi Burp Suite'te durdurulabilir ve üzerinde değişiklik yapılabilir. Burp Suite kullanarak API'ler üzerinde güvenlik testi yapmak için aşağıdaki yaklaşımlardan birini kullanabilirsiniz:

  1. Uygulamayı düzenli bir şekilde tarayın ve API'lere ait uç noktaları belirleyin. API uç noktaları belirlendikten sonra, ilgili istekler daha ileri testler için Repeater veya Intruder'e gönderilebilirsiniz. 
  2. API'ler çoğu kez uygulamadaki User-Interface (UI) işlevleri aracılığıyla çağrılır. Böyle bir durumda, Burp Suite tarayıcısında yeni bir "Crawl and Audit" görevi oluşturabilir ve tüm tarayıcı kontrollerinin ve görevlerinin tamamlandığından emin olabilirsiniz. 
  3. Herhangi bir kullanıcı arayüzünden doğrudan çağrılmayan bir dizi API olabilir. Bu tür API'ler genellikle Postman gibi araçlar kullanılarak manuel olarak test edilir. Gerekli tüm API trafiğini yakalamak için Postman'ı Burp Suite ile kolayca entegre edebiliriz. Gerekli API istekleri ve yanıtları Burp Suite'e girdikten sonra, yalnızca bunları Repeater veya Intruder kullanarak gerektiği şekilde test etmek yeterlidir.

Postman'ı Burp Suite ile nasıl entegre edebileceğimizi şimdi göreceğiz. Postman, manuel API testi için kullanılan popüler bir araçtır. https://www.postman.com/downloads/ adresinden indirilebilirsiniz. Postman uygulama arayüzü aşağıda gösterildiği gibidir.


Postman'ı Burp Suite ile birlikte çalışacak şekilde yapılandırmak için, yukarıda gösterildiği gibi sağ üst köşedeki 'Setting' seçeneğine tıklayın. Aşağıda gösterildiği gibi yeni bir Settings penceresi açılacaktır. Şimdi proxy sekmesine gidin ve 'Add a custom proxy configuration'u seçin ve Proxy sunucu adresini Burp Suite'i (genellikle localhost veya 127.0.0.1) çalıştıran makineninki olarak ve bağlantı noktasını 8080 veya istediğimiz gibi girin. (Burp Suite proxy dinleyicisinin de etkin olacağı)

Postman tarafındaki yapılandırmayı tamamladığımıza göre, Burp Suite Side'da da doğru proxy yapılandırmasının yapıldığından emin olmamız gerekiyor. Burp Suite'te doğru proxy'nin yapılandırıldığından emin olmak için, aşağıda gösterildiği gibi Proxy sekmesine ve Options'a gidin ve IP adresinin ve bağlantı noktası numarasının Postman'da daha önce yapılandırılanlarla eşleştiğinden emin olun.

Hem Postman hem de Burp Suite birlikte çalışacak şekilde yapılandırıldıktan sonra, Postman'dan üretilen tüm trafik artık Burp Suite'ten geçecek. Bu, tarayıcılarımızı Burp Suite ile birlikte çalışacak şekilde yapılandırmamıza çok benzer. Postman'ı Burp Suite ile birlikte çalışacak şekilde nasıl yapılandıracağımızı gördüğümüze göre, tersinin nasıl çalıştığını göreceğiz; yani, verileri seçici testler için Burp Suite'ten Postman'a nasıl aktarabiliriz? Burp Suite Repeater ve Intruder, bir API'nin güvenlik testini gerçekleştirme amaçlarının çoğuna hizmet ederken, Postman arayüzünde belirli bir API'yi test etme ihtiyacı olabilir. Böyle bir durumda, API talebini Burp Suite'ten Postman aracına aktarmak mümkündür. Bir API isteğini Burp Suite'ten Postman'a aktarmak için, "Postman Integration" adlı bir uzantı yüklememiz gerekir. Extender sekmesine gidin ve "BApp Store" u açın ve "Postman Integration" uzantısını aşağıda gösterildiği gibi yükleyin.
Uzantı yüklendikten sonra: 
  1. Target sekmesine gidin,
  2. Postmana aktarmak istediğiniz talebi seçin,
  3. Dışa aktarılacak isteğe sağ tıklayın,
  4. "Export as Postman Collection" seçeneğini seçin.

Yeni bir pencere açılacaktır. Gerekli Koleksiyon Adını ve Klasör adını girin ve Export düğmesine tıklayın. Koleksiyon daha sonra dışa aktarılacak ve belirtilen konuma kaydedilecektir. Ardından, Postman uygulamasını açın ve aşağıda gösterildiği gibi "İmport"a tıklayın. Dosyaları seç'e tıklayın ve daha önce Burp Suite'ten dışa aktardığımız dosyayı seçin.



Daha sonra Burp Suite'ten Postman uygulamasına aktarılan API isteğini görebilirsiniz.

Hadi durma sende yorum yap

Daha yeni Daha eski

Comments