hacktricks/network-services-pentesting/pentesting-web/web-api-pentesting.md

7.8 KiB
Raw Blame History

Web API Pentesting

AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!

HackTricks'ı desteklemenin diğer yolları:

Trickest'i kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.
Bugün Erişim Alın:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}

API Pentesting Metodolojisi Özeti

API'leri pentest etmek, zayıflıkları ortaya çıkarmak için yapılandırılmış bir yaklaşım gerektirir. Bu kılavuz, pratik teknikleri ve araçları vurgulayan kapsamlı bir metodolojiyi içerir.

API Türlerini Anlama

  • SOAP/XML Web Servisleri: Genellikle ?wsdl yolunda bulunan belgeleme için WSDL formatını kullanın. SOAPUI ve WSDLer (Burp Suite Eklentisi) gibi araçlar, istekleri ayrıştırmak ve oluşturmak için önemlidir. Örnek belgeleme, DNE Online adresinden erişilebilir.
  • REST API'ler (JSON): Belgeleme genellikle WADL dosyalarında gelir, ancak Swagger UI gibi araçlar, etkileşim için daha kullanıcı dostu bir arayüz sağlar. Örnek istekler oluşturmak ve yönetmek için Postman değerli bir araçtır.
  • GraphQL: API'ler için anlaşılabilir ve eksiksiz bir veri açıklaması sunan bir sorgu dili.

Uygulama Laboratuvarları

  • VAmPI: OWASP top 10 API zayıflıklarını kapsayan uygulamalı pratik için bilerek zayıf bir API.

API Pentesting için Etkili Püf Noktaları

  • SOAP/XML Zayıflıkları: XXE zayıflıklarını keşfedin, ancak genellikle DTD bildirimleri kısıtlanmıştır. XML geçerli kalırsa CDATA etiketleri yük enjeksiyonuna izin verebilir.
  • Yetki Yükseltme: Yetki seviyeleri değişen uç noktaları test ederek yetkisiz erişim olasılıklarını belirleyin.
  • CORS Yanılandırmaları: Yetkilendirilmiş oturumlardan CSRF saldırıları aracılığıyla olası sömürülebilirlik için CORS ayarlarını inceleyin.
  • Uç Nokta Keşfi: Gizli uç noktaları keşfetmek için API desenlerinden yararlanın. Fuzzer gibi araçlar bu süreci otomatikleştirebilir.
  • Parametre Oynama: İsteklere parametre ekleyerek veya değiştirerek yetkisiz verilere veya işlevselliklere erişmeyi deneyin.
  • HTTP Yöntemi Testi: Beklenmeyen davranışları veya bilgi sızıntılarını ortaya çıkarmak için istek yöntemlerini (GET, POST, PUT, DELETE, PATCH) değiştirin.
  • İçerik Türü Manipülasyonu: Farklı içerik türleri arasında geçiş yaparak (x-www-form-urlencoded, application/xml, application/json) ayrıştırma sorunlarını veya zayıflıkları test edin.
  • Gelişmiş Parametre Teknikleri: JSON yüklerinde beklenmeyen veri tipleriyle test yapın veya XXE enjeksiyonları için XML verileriyle oynayın. Ayrıca daha geniş testler için parametre kirliliği ve joker karakterlerini deneyin.
  • Sürüm Testi: Eski API sürümleri saldırılara daha açık olabilir. Her zaman birden fazla API sürümünü kontrol edin ve test edin.

API Pentesting için Araçlar ve Kaynaklar

  • kiterunner: API uç noktalarını keşfetmek için mükemmel bir araçtır. Hedef API'ler üzerinde tarama yapmak ve brute force yollarını ve parametreleri tarayarak kullanın.
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
  • Otomatik-api-saldiri-araci, Astra ve restler-fuzzer gibi ek araçlar, saldırı simülasyonundan fuzzing'e ve zafiyet taramasına kadar API güvenlik testleri için özelleştirilmiş işlevsellikler sunar.
  • Cherrybomb: API'nizi bir OAS dosyasına dayalı olarak denetleyen bir API güvenlik aracı (araç rust dilinde yazılmıştır).

Öğrenme ve Uygulama Kaynakları

  • OWASP API Güvenlik Top 10: Ortak API zafiyetlerini anlamak için temel okuma materyali (OWASP Top 10).
  • API Güvenlik Kontrol Listesi: API'leri güvence altına almak için kapsamlı bir kontrol listesi (GitHub link).
  • Logger++ Filtreleri: API zafiyetlerini aramak için Logger++ kullanışlı filtreler sunar (GitHub link).
  • API Uç Noktaları Listesi: Test amaçlı potansiyel API uç noktalarının özenle seçilmiş bir listesi (GitHub gist).

Referanslar

Trickest'i kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen otomatik iş akışları oluşturun ve otomatikleştirin.
Bugün Erişim Alın:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}

Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'i desteklemenin diğer yolları: