Web API Pentesting
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
API Pentesting Methodology Summary
Pentesting APIs inahusisha njia iliyopangwa ya kugundua udhaifu. Mwongo huu unajumuisha mbinu kamili, ukisisitiza mbinu na zana za vitendo.
Understanding API Types
- SOAP/XML Web Services: Tumia muundo wa WSDL kwa ajili ya nyaraka, mara nyingi hupatikana kwenye njia za
?wsdl
. Zana kama SOAPUI na WSDLer (Burp Suite Extension) ni muhimu kwa ajili ya kuchambua na kuunda maombi. Mfano wa nyaraka unapatikana kwenye DNE Online. - REST APIs (JSON): Nyaraka mara nyingi zinakuja katika faili za WADL, lakini zana kama Swagger UI zinatoa kiolesura rahisi zaidi kwa ajili ya mwingiliano. Postman ni zana muhimu kwa ajili ya kuunda na kusimamia maombi ya mfano.
- GraphQL: Lugha ya kuhoji kwa APIs inatoa maelezo kamili na yanayoeleweka kuhusu data katika API yako.
Practice Labs
- VAmPI: API yenye udhaifu wa makusudi kwa ajili ya mazoezi ya vitendo, ikifunika udhaifu wa juu 10 wa API wa OWASP.
Effective Tricks for API Pentesting
- SOAP/XML Vulnerabilities: Chunguza udhaifu wa XXE, ingawa matangazo ya DTD mara nyingi yanapigwa marufuku. Mifumo ya CDATA inaweza kuruhusu kuingiza payload ikiwa XML inabaki kuwa halali.
- Privilege Escalation: Jaribu mwisho wa huduma zenye viwango tofauti vya ruhusa ili kubaini uwezekano wa ufikiaji usioidhinishwa.
- CORS Misconfigurations: Chunguza mipangilio ya CORS kwa uwezekano wa kutumiwa kupitia mashambulizi ya CSRF kutoka kwa vikao vilivyoidhinishwa.
- Endpoint Discovery: Tumia mifumo ya API kugundua mwisho wa huduma zilizofichwa. Zana kama fuzzers zinaweza kuharakisha mchakato huu.
- Parameter Tampering: Jaribu kuongeza au kubadilisha vigezo katika maombi ili kufikia data au kazi zisizoidhinishwa.
- HTTP Method Testing: Badilisha mbinu za maombi (GET, POST, PUT, DELETE, PATCH) ili kugundua tabia zisizotarajiwa au ufichuzi wa taarifa.
- Content-Type Manipulation: Badilisha kati ya aina tofauti za maudhui (x-www-form-urlencoded, application/xml, application/json) ili kujaribu matatizo ya uchambuzi au udhaifu.
- Advanced Parameter Techniques: Jaribu na aina zisizotarajiwa za data katika payloads za JSON au cheza na data za XML kwa ajili ya XXE injections. Pia, jaribu uchafuzi wa vigezo na wahusika wa wildcard kwa ajili ya majaribio mapana.
- Version Testing: Toleo la zamani la API linaweza kuwa na uwezekano mkubwa wa kushambuliwa. Daima angalia na jaribu dhidi ya matoleo mengi ya API.
Tools and Resources for API Pentesting
- kiterunner: Nzuri kwa ajili ya kugundua mwisho wa API. Tumia kuangalia na kujaribu nguvu njia na vigezo dhidi ya APIs lengwa.
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
- https://github.com/BishopFox/sj: sj ni zana ya mistari ya amri iliyoundwa kusaidia katika ukaguzi wa faili za ufafanuzi za Swagger/OpenAPI zilizofichuliwa kwa kuangalia mwisho wa API zinazohusiana kwa uthibitisho dhaifu. Pia inatoa templeti za amri kwa ajili ya kupima udhaifu kwa mikono.
- Zana za ziada kama automatic-api-attack-tool, Astra, na restler-fuzzer zinatoa kazi maalum za kupima usalama wa API, kuanzia simulating shambulio hadi fuzzing na skanning ya udhaifu.
- Cherrybomb: Ni zana ya usalama wa API inayokagua API yako kulingana na faili ya OAS (zana hiyo imeandikwa kwa rust).
Rasilimali za Kujifunza na Mazoezi
- OWASP API Security Top 10: Kusoma muhimu kwa kuelewa udhaifu wa kawaida wa API (OWASP Top 10).
- API Security Checklist: Orodha kamili ya kuhakikisha usalama wa APIs (GitHub link).
- Logger++ Filters: Kwa ajili ya kuwinda udhaifu wa API, Logger++ inatoa filters muhimu (GitHub link).
- API Endpoints List: Orodha iliyochaguliwa ya mwisho wa API zinazoweza kutumika kwa madhumuni ya kupima (GitHub gist).
Marejeleo
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.