Web API Pentesting

Support HackTricks

Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:

API Pentesting Methodology Summary

Pentesting APIs inahusisha mbinu 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 hutoa 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 inayo toa maelezo kamili na yanayoeleweka kuhusu data katika API yako.

Practice Labs

  • VAmPI: API yenye udhaifu wa makusudi kwa ajili ya mazoezi ya vitendo, ikif covering OWASP top 10 API vulnerabilities.

Effective Tricks for API Pentesting

  • SOAP/XML Vulnerabilities: Chunguza udhaifu wa XXE, ingawa matangazo ya DTD mara nyingi yanapigwa marufuku. Mikataba 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 uvujaji 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: Matoleo ya zamani ya API yanaweza 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 njia na vigezo dhidi ya APIs za lengo.

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
  • Zana za ziada kama automatic-api-attack-tool, Astra, na restler-fuzzer hutoa kazi maalum za kupima usalama wa API, kuanzia kutoka kwa uigaji wa 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 kuwinda udhaifu wa API, Logger++ inatoa filters muhimu (GitHub link).

  • API Endpoints List: Orodha iliyochaguliwa ya maeneo ya API yanayoweza kutumika kwa madhumuni ya kupima (GitHub gist).

Marejeleo

Tumia Trickest kujenga na kujiendesha kwa urahisi kazi zinazotumiwa na zana za jamii za kisasa zaidi duniani. Pata Ufikiaji Leo:

Support HackTricks

Last updated