mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-01 17:10:07 +00:00
94 lines
7.9 KiB
Markdown
94 lines
7.9 KiB
Markdown
# Web API Pentesting
|
||
|
||
{% hint style="success" %}
|
||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
|
||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
[**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=web-api-pentesting) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla 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 teknikler ve araçlara vurgu yaparak kapsamlı bir metodolojiyi kapsar.
|
||
|
||
### **API Türlerini Anlamak**
|
||
|
||
* **SOAP/XML Web Servisleri**: Dokümantasyon için genellikle `?wsdl` yollarında bulunan WSDL formatını kullanır. **SOAPUI** ve **WSDLer** (Burp Suite Eklentisi) gibi araçlar, istekleri ayrıştırmak ve oluşturmak için önemlidir. Örnek dokümantasyon [DNE Online](http://www.dneonline.com/calculator.asmx) adresinde mevcuttur.
|
||
* **REST API'leri (JSON)**: Dokümantasyon genellikle WADL dosyalarında gelir, ancak [Swagger UI](https://swagger.io/tools/swagger-ui/) gibi araçlar etkileşim için daha kullanıcı dostu bir arayüz sunar. **Postman**, örnek istekleri oluşturmak ve yönetmek için değerli bir araçtır.
|
||
* **GraphQL**: API'ler için, API'nizdeki verilerin tam ve anlaşılır bir tanımını sunan bir sorgu dilidir.
|
||
|
||
### **Pratik Laboratuvarlar**
|
||
|
||
* [**VAmPI**](https://github.com/erev0s/VAmPI): OWASP top 10 API zayıflıklarını kapsayan, uygulamalı pratik için kasıtlı olarak zayıf bir API.
|
||
|
||
### **API Pentesting için Etkili İpuçları**
|
||
|
||
* **SOAP/XML Zayıflıkları**: XXE zayıflıklarını keşfedin, ancak DTD bildirimleri genellikle kısıtlıdır. XML geçerli kaldığı sürece CDATA etiketleri yük eklemeye izin verebilir.
|
||
* **Yetki Yükseltme**: Yetkisiz erişim olasılıklarını belirlemek için farklı yetki seviyelerine sahip uç noktaları test edin.
|
||
* **CORS Yanlış Yapılandırmaları**: Kimlik doğrulama oturumlarından CSRF saldırıları yoluyla potansiyel istismar edilebilirlik için CORS ayarlarını araştırın.
|
||
* **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 Manipülasyonu**: Yetkisiz verilere veya işlevlere erişmek için isteklerde parametre eklemeyi veya değiştirmeyi deneyin.
|
||
* **HTTP Yöntemi Testi**: Beklenmedik 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**: Ayrıştırma sorunları veya zayıflıkları test etmek için farklı içerik türleri (x-www-form-urlencoded, application/xml, application/json) arasında geçiş yapın.
|
||
* **Gelişmiş Parametre Teknikleri**: JSON yüklerinde beklenmedik veri türleri ile test edin veya XXE enjeksiyonları için XML verileri ile oynayın. Ayrıca, daha geniş testler için parametre kirliliği ve joker karakterler deneyin.
|
||
* **Sürüm Testi**: Eski API sürümleri saldırılara daha duyarlı olabilir. Her zaman birden fazla API sürümünü kontrol edin ve test edin.
|
||
|
||
### **API Pentesting için Araçlar ve Kaynaklar**
|
||
|
||
* [**kiterunner**](https://github.com/assetnote/kiterunner): API uç noktalarını keşfetmek için mükemmel. Hedef API'lere karşı yolları ve parametreleri taramak ve brute force yapmak için kullanın.
|
||
```bash
|
||
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
|
||
```
|
||
* **automatic-api-attack-tool**, **Astra** ve **restler-fuzzer** gibi ek araçlar, saldırı simülasyonundan fuzzing ve zafiyet taramasına kadar API güvenlik testleri için özel işlevler sunar.
|
||
* [**Cherrybomb**](https://github.com/blst-security/cherrybomb): OAS dosyasına dayalı olarak API'nizi denetleyen bir API güvenlik aracıdır (araç rust ile yazılmıştır).
|
||
|
||
### **Öğrenme ve Pratik Kaynakları**
|
||
|
||
* **OWASP API Güvenliği En İyi 10**: Yaygın API zafiyetlerini anlamak için temel bir okuma ([OWASP Top 10](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
|
||
* **API Güvenlik Kontrol Listesi**: API'leri güvence altına almak için kapsamlı bir kontrol listesi ([GitHub link](https://github.com/shieldfy/API-Security-Checklist)).
|
||
* **Logger++ Filtreleri**: API zafiyetlerini avlamak için, Logger++ faydalı filtreler sunar ([GitHub link](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
|
||
* **API Uç Noktaları Listesi**: Test amaçları için potansiyel API uç noktalarının derlenmiş bir listesi ([GitHub gist](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
|
||
|
||
## Referanslar
|
||
|
||
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
|
||
|
||
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
Dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturmak ve **otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=web-api-pentesting) kullanın.\
|
||
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" %}
|
||
|
||
{% hint style="success" %}
|
||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>HackTricks'i Destekleyin</summary>
|
||
|
||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
|
||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||
|
||
</details>
|
||
{% endhint %}
|