Web API Pentesting

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

HackTricks'ı desteklemenin diğer yolları:

Trickest 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:

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 teknikler ve araçları vurgulayan kapsamlı bir metodolojiyi içerir.

API Türlerini Anlama

  • SOAP/XML Web Servisleri: Genellikle ?wsdl yolunda bulunan belgeler 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 belgelere DNE Online adresinden erişilebilir.

  • REST API'ler (JSON): Belgeler genellikle WADL dosyalarında gelir, ancak Swagger UI gibi araçlar, daha kullanıcı dostu bir etkileşim arayüzü sağlar. Örnek istekler oluşturmak ve yönetmek için Postman değerli bir araçtır.

  • GraphQL: API'ınızdaki verilerin tam ve anlaşılır bir açıklamasını sunan bir sorgu dili.

Uygulama Laboratuvarları

  • VAmPI: OWASP'in en üst 10 API zayıflıklarını kapsayan, el ile uygulama için kasti olarak zayıf olan bir API.

API Pentesting için Etkili Püf Noktaları

  • SOAP/XML Zayıflıkları: DTD beyanları genellikle kısıtlanmış olsa da XXE zayıflıklarını keşfedin. XML geçerli kalıyorsa 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ı: Kimlik doğrulaması yapılmış 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 kalıplarını kullanı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 daha savunmasız 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ç. Hedef API'lerine karşı yolları ve parametreleri taramak ve brute force yapmak için 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 dayanarak 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 kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen otomatik iş akışları oluşturmayı ve otomatikleştirmeyi kolayca yapın. Bugün Erişim Alın:

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

HackTricks'i desteklemenin diğer yolları:

Last updated