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

93 lines
7.6 KiB
Markdown
Raw Normal View History

# Testiranje Web API-ja
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2023-12-31 01:24:39 +00:00
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
2024-02-10 13:11:20 +00:00
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-06-06 22:28:05 +00:00
Koristite [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=web-api-pentesting) da lako izgradite i **automatizujete radne tokove** pokretane najnaprednijim alatima zajednice.\
2024-02-10 13:11:20 +00:00
Dobijte pristup danas:
2022-06-06 22:28:05 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
2022-06-06 22:28:05 +00:00
## Sažetak Metodologije Testiranja API-ja
2021-06-08 18:47:44 +00:00
Testiranje API-ja uključuje strukturiran pristup otkrivanju ranjivosti. Ovaj vodič obuhvata sveobuhvatnu metodologiju, naglašavajući praktične tehnike i alate.
### **Razumevanje Tipova API-ja**
* **SOAP/XML Web Servisi**: Koristite WSDL format za dokumentaciju, obično pronađenu na putanjama `?wsdl`. Alati poput **SOAPUI** i **WSDLer** (Burp Suite Extension) su instrumentalni za parsiranje i generisanje zahteva. Primer dokumentacije je dostupan na [DNE Online](http://www.dneonline.com/calculator.asmx).
* **REST API-ji (JSON)**: Dokumentacija često dolazi u WADL fajlovima, ali alati poput [Swagger UI](https://swagger.io/tools/swagger-ui/) pružaju korisniji interfejs za interakciju. **Postman** je vredan alat za kreiranje i upravljanje primer zahtevima.
* **GraphQL**: Upitni jezik za API-je koji nudi potpisan i razumljiv opis podataka u vašem API-ju.
### **Vežbačke Laboratorije**
* [**VAmPI**](https://github.com/erev0s/VAmPI): Namerno ranjiv API za praktičnu vežbu, koji pokriva OWASP top 10 API ranjivosti.
### **Efikasni Trikovi za Testiranje API-ja**
* **SOAP/XML Ranjivosti**: Istražite XXE ranjivosti, iako su deklaracije DTD-a često ograničene. CDATA tagovi mogu omogućiti umetanje payload-a ako XML ostane validan.
* **Eskalacija Privilegija**: Testirajte endpointe sa različitim nivoima privilegija kako biste identifikovali mogućnosti neovlašćenog pristupa.
* **CORS Pogrešne Konfiguracije**: Istražite CORS podešavanja radi potencijalne iskoristivosti putem CSRF napada iz autentifikovanih sesija.
* **Otkrivanje Endpoinata**: Iskoristite obrasce API-ja da otkrijete skrivene endpoinate. Alati poput fuzera mogu automatizovati ovaj proces.
* **Manipulacija Parametrima**: Eksperimentišite sa dodavanjem ili zamenom parametara u zahtevima kako biste pristupili neovlašćenim podacima ili funkcionalnostima.
* **Testiranje HTTP Metoda**: Varirajte metode zahteva (GET, POST, PUT, DELETE, PATCH) kako biste otkrili neočekivano ponašanje ili otkrivanje informacija.
* **Manipulacija Tipom Sadržaja**: Prebacujte se između različitih tipova sadržaja (x-www-form-urlencoded, application/xml, application/json) kako biste testirali probleme sa parsiranjem ili ranjivosti.
* **Napredne Tehnike Parametara**: Testirajte sa neočekivanim tipovima podataka u JSON payload-ima ili igrajte se sa XML podacima za XXE ubacivanja. Takođe, pokušajte sa zagađivanjem parametara i wildcard karakterima za šire testiranje.
* **Testiranje Verzija**: Starije verzije API-ja mogu biti podložnije napadima. Uvek proverite i testirajte protiv više verzija API-ja.
### **Alati i Resursi za Testiranje API-ja**
* [**kiterunner**](https://github.com/assetnote/kiterunner): Odličan za otkrivanje API endpoinata. Koristite ga za skeniranje i brute force putanja i parametara protiv ciljanih API-ja.
2024-02-08 21:36:15 +00:00
```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
```
* Dodatni alati poput **automatic-api-attack-tool**, **Astra** i **restler-fuzzer** nude prilagođene funkcionalnosti za testiranje sigurnosti API-ja, uključujući simulaciju napada, fuzzing i skeniranje ranjivosti.
* [**Cherrybomb**](https://github.com/blst-security/cherrybomb): To je alat za sigurnost API-ja koji proverava vaš API na osnovu OAS datoteke (alat je napisan u rust jeziku).
2024-02-10 13:11:20 +00:00
### **Resursi za učenje i vežbanje**
* **OWASP API Security Top 10**: Osnovno štivo za razumevanje uobičajenih ranjivosti API-ja ([OWASP Top 10](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
* **API Security Checklist**: Kompletna lista za obezbeđivanje API-ja ([GitHub link](https://github.com/shieldfy/API-Security-Checklist)).
* **Logger++ Filters**: Za pronalaženje ranjivosti API-ja, Logger++ nudi korisne filtere ([GitHub link](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
* **API Endpoints List**: Odabrana lista potencijalnih API endpointa za testiranje ([GitHub gist](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
2024-02-10 13:11:20 +00:00
## Reference
2024-02-08 21:36:15 +00:00
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
2022-09-05 10:17:20 +00:00
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
Koristite [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=web-api-pentesting) da lako izgradite i **automatizujete radne tokove** pokretane najnaprednijim alatima zajednice.\
Dobijte pristup danas:
2022-06-06 22:28:05 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
2022-06-06 22:28:05 +00:00
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2023-12-31 01:24:39 +00:00
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
2024-02-10 13:11:20 +00:00
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
2022-04-28 16:01:33 +00:00
</details>