7.5 KiB
Web API Pentesting
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools.
Get Access Today:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
API Pentesting Methodology Summary
Pentesting API-ja uključuje strukturiran pristup otkrivanju ranjivosti. Ovaj vodič obuhvata sveobuhvatnu metodologiju, naglašavajući praktične tehnike i alate.
Understanding API Types
- SOAP/XML Web Services: Koriste WSDL format za dokumentaciju, obično se nalaze na
?wsdl
putanjama. Alati kao što su SOAPUI i WSDLer (Burp Suite Extension) su ključni za parsiranje i generisanje zahteva. Primer dokumentacije je dostupan na DNE Online. - REST APIs (JSON): Dokumentacija često dolazi u WADL datotekama, ali alati kao što je Swagger UI pružaju korisnički prijatniji interfejs za interakciju. Postman je vredan alat za kreiranje i upravljanje primerima zahteva.
- GraphQL: Jezik upita za API-je koji nudi potpunu i razumljivu opis podataka u vašem API-ju.
Practice Labs
- VAmPI: Namerno ranjiv API za praktičnu obuku, pokrivajući OWASP top 10 API ranjivosti.
Effective Tricks for API Pentesting
- SOAP/XML Vulnerabilities: Istražite XXE ranjivosti, iako su DTD deklaracije često ograničene. CDATA tagovi mogu omogućiti umetanje payload-a ako XML ostane validan.
- Privilege Escalation: Testirajte krajnje tačke sa različitim nivoima privilegija kako biste identifikovali mogućnosti neovlašćenog pristupa.
- CORS Misconfigurations: Istražite CORS podešavanja za potencijalnu iskoristivost kroz CSRF napade iz autentifikovanih sesija.
- Endpoint Discovery: Iskoristite API obrasce za otkrivanje skrivenih krajnjih tačaka. Alati kao što su fuzzers mogu automatizovati ovaj proces.
- Parameter Tampering: Eksperimentišite sa dodavanjem ili zamenom parametara u zahtevima kako biste pristupili neovlašćenim podacima ili funkcionalnostima.
- HTTP Method Testing: Varirajte metode zahteva (GET, POST, PUT, DELETE, PATCH) kako biste otkrili neočekivana ponašanja ili otkrivanje informacija.
- Content-Type Manipulation: 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.
- Advanced Parameter Techniques: Testirajte sa neočekivanim tipovima podataka u JSON payload-ima ili se igrajte sa XML podacima za XXE injekcije. Takođe, isprobajte zagađenje parametara i wildcard karaktere za šire testiranje.
- Version Testing: Starije verzije API-ja mogu biti podložnije napadima. Uvek proverite i testirajte protiv više verzija API-ja.
Tools and Resources for API Pentesting
- kiterunner: Odličan za otkrivanje API krajnjih tačaka. Koristite ga za skeniranje i brute force putanja i parametara protiv ciljanih API-ja.
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 kao što su automatic-api-attack-tool, Astra i restler-fuzzer nude prilagođene funkcionalnosti za testiranje sigurnosti API-ja, od simulacije napada do fuzzinga i skeniranja ranjivosti.
- Cherrybomb: To je alat za sigurnost API-ja koji vrši reviziju vašeg API-ja na osnovu OAS datoteke (alat napisan u rustu).
Resursi za učenje i praksu
- OWASP API Security Top 10: Osnovno čitanje za razumevanje uobičajenih ranjivosti API-ja (OWASP Top 10).
- API Security Checklist: Sveobuhvatna lista za osiguranje API-ja (GitHub link).
- Logger++ Filters: Za pronalaženje ranjivosti API-ja, Logger++ nudi korisne filtre (GitHub link).
- API Endpoints List: Kurirana lista potencijalnih API krajnjih tačaka za testiranje (GitHub gist).
Reference
Koristite Trickest za lako kreiranje i automatizaciju radnih tokova pokretanih najnaprednijim alatima zajednice na svetu.
Pristupite danas:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
{% hint style="success" %}
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.