Burp Tarayıcının yeni GraphQL yetenekleri, bilinen uç noktaları tanımasına, gizli uç noktaları bulmasına, iç gözlemin veya tavsiyelerin etkinleştirilip etkinleştirilmediğini belirlemesine ve bir uç nokta içerik türünü doğrulamada başarısız olduğunda rapor vermesine olanak tanır.
Ünlü web uygulaması güvenlik testi aracı Burp Suite’in arkasındaki firma olan Portswigger, Burp Tarayıcı’nın yeni GraphQL kontrollerinin sızma testi sırasında birden fazla GraphQL güvenlik açığı örneğini otomatik olarak göstereceğini duyurdu.
Çoğu durumda, uygulama ve tasarım sorunları GraphQL güvenlik açıklarına yol açar. GraphQL kullanan saldırılar genellikle, saldırganın verilere erişmesine veya yetkisiz işlemler gerçekleştirmesine izin veren kötü niyetli istekler şeklinde gerçekleşir.
Bu saldırılar, özellikle kullanıcı sorguları kurcalayarak veya bir CSRF güvenlik açığı kullanarak yönetici hakları elde etmeyi başarırsa oldukça zarar verici olabilir. Bilgi ifşa sorunları, GraphQL API güvenlik açıklarından da kaynaklanabilir.
GraphQL API Kusurlarını Belirleyin
Geğirme Tarayıcı kolaylaştırır bul Web sitelerinde manuel olarak arama yapmak yerine GraphQL uç noktası.
Şirket, “Bilinen uç noktaları otomatik olarak bulmak için bazı pasif ve aktif tarama kontrolleri tanımladık, bu da sizin güvenlik açıklarını bulmaya odaklanmanızı sağlıyor” dedi.
Örneğin, bir GraphQL uç noktasını yanlışlıkla üretime dağıtırken, bir geliştirici bunu web sitesinde kullanmadan yapabilir.
Bir site GraphQL kullanmıyor olsa bile Burp Suite ortak uç noktaları arar ve gizli dağıtımları bulur.
Bir güvenlik açığının kasıtsız bir dağıtım olması durumunda keşfedilebileceği göz önüne alındığında, bu uç noktalar bir test kullanıcısı için paha biçilmez bir kaynak olabilir.
Introspection, hangi sorguları desteklediğini keşfetmek için gerçek şema üzerinde bir sorgu yürütmenizi sağlar. Bir web sitesi, API’sinin iç işleyişini halka açıklamak istemeyebileceğinden, genellikle üretimde devre dışı bırakılır.
Burp, iç gözlemin etkin olup olmadığını tespit edecektir; Bu kendi başına bir güvenlik açığı olmasa da, bir test kullanıcısının siteyi test etmesine yardımcı olması ve bir geliştiricinin siteyi üretimde kapatması için bir hatırlatma işlevi görmesi yararlı olabilir.
Ayrıca şirket, uygun bir sorgu oluşturmaya yardımcı olmak için Apollo gibi belirli GraphQL sunucularının yanlış bir sorgu gönderdiğinizde öneriler sunacağını belirtti.
Bu nedenle, içgözlem kapalı olsa bile, bir test uzmanı bunu bir kelime sözlüğü ve önerilen yanıtı bir kehanet olarak kullanarak altta yatan şemayı belirlemek için kullanabilir.
Basiret gibi bir araç kullanılarak bir sözlükten geçerli bir şema oluşturulabilir. Önerilerin etkinleştirildiği uç noktaları bulabilir ve Burp kullanarak raporlayabilirsiniz.
Uygulama/json içerik türüne sahip bir POST yöntemi, GraphQL uç noktalarının çoğu tarafından kullanılır.
Uygun içerik türünün gönderilmesi imkansız olacağından, içerik türü uygun şekilde doğrulanırsa, bir tarayıcı bu isteği CORS’yi (Kaynaklar arası kaynak paylaşımı) kullanmadan yapamaz.
Bu, uç noktayı CSRF’ye (siteler arası istek sahteciliği) karşı korur.
Bununla birlikte, SameSite tanımlama bilgileri gibi hafifletme unsurlarının SameSite Yok işareti nedeniyle dikkate alınmaması veya etkisiz hale getirilmesi koşuluyla, bir site içerik türünü kontrol etmez ve bir CSRF belirteci kullanmazsa sahte sorgular yaparak GraphQL uç noktasını kötüye kullanmak mümkün olabilir.
Burp, application/x-www-form-urlencoding içeren bir POST isteği veya uç noktaya yönelik bir GET isteği sahteyse kullanıcıyı uyaracaktır.
Çözüm
API’ler ve veri odaklı uygulamalar oluşturmaya yönelik en sevilen yaklaşımlardan biri artık GraphQL’dir. Geleneksel REST API’leri, önceden belirlenmiş bir dizi uç nokta ve yanıt sağlar, ancak GraphQL, istemcilerin yalnızca istedikleri verileri sorgulamasına olanak tanıyarak hem istemci hem de sunucu için esnekliği ve verimliliği artırır.
En yeni araçları bilmek, penetrasyon test uzmanlarının en yeni güvenlik açıklarını ortaya çıkarmasına yardımcı olacaktır. Günümüzün web siteleri, çeşitli güvenlik sorunları için saldırı yüzeyini ortaya çıkaran GraphQL API’lerini sıklıkla kullanır.
“Yapay zeka tabanlı e-posta güvenlik önlemleri İşletmenizi E-posta Tehditlerinden Koruyun!” – Ücretsiz Demo İsteyin.