Web API Pentesting

Reading time: 4 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

API Pentesting Metodologie Opsomming

Pentesting APIs behels 'n gestruktureerde benadering om kwesbaarhede te ontdek. Hierdie gids sluit 'n omvattende metodologie in, met die klem op praktiese tegnieke en gereedskap.

Begrip van API Tipes

  • SOAP/XML Web Dienste: Gebruik die WSDL-formaat vir dokumentasie, wat tipies by ?wsdl padhulpmiddels gevind word. Gereedskap soos SOAPUI en WSDLer (Burp Suite Extension) is instrumenteel vir die ontleding en generering van versoeke. Voorbeeld dokumentasie is beskikbaar by DNE Online.
  • REST APIs (JSON): Dokumentasie kom dikwels in WADL-lêers, maar gereedskap soos Swagger UI bied 'n meer gebruikersvriendelike koppelvlak vir interaksie. Postman is 'n waardevolle hulpmiddel vir die skep en bestuur van voorbeeld versoeke.
  • GraphQL: 'n Vra taal vir APIs wat 'n volledige en verstaanbare beskrywing van die data in jou API bied.

Praktyk Laboratoriums

  • VAmPI: 'n Opsetlik kwesbare API vir praktiese oefening, wat die OWASP top 10 API kwesbaarhede dek.

Doeltreffende Truuks vir API Pentesting

  • SOAP/XML Kwesbaarhede: Verken XXE kwesbaarhede, alhoewel DTD-verklarings dikwels beperk is. CDATA-tags mag payload-invoeging toelaat as die XML geldig bly.
  • Privilegie Eskalasie: Toets eindpunte met verskillende priviligie vlakke om ongeoorloofde toegang moontlikhede te identifiseer.
  • CORS Misconfigurasies: Ondersoek CORS-instellings vir potensiële uitbuitbaarheid deur CSRF-aanvalle vanuit geverifieerde sessies.
  • Eindpunt Ontdekking: Gebruik API patrone om verborge eindpunte te ontdek. Gereedskap soos fuzzers kan hierdie proses outomatiseer.
  • Parameter Manipulasie: Eksperimenteer met die toevoeging of vervanging van parameters in versoeke om toegang tot ongeoorloofde data of funksies te verkry.
  • HTTP Metode Toetsing: Varieer versoekmetodes (GET, POST, PUT, DELETE, PATCH) om onverwagte gedrag of inligtingsontsluitings te ontdek.
  • Inhoud-Tipe Manipulasie: Wissel tussen verskillende inhoudstipes (x-www-form-urlencoded, application/xml, application/json) om te toets vir ontledingsprobleme of kwesbaarhede.
  • Geavanceerde Parameter Tegnieke: Toets met onverwagte datatipes in JSON payloads of speel met XML data vir XXE inspuitings. Probeer ook parameter besoedeling en wildcard karakters vir breër toetsing.
  • Weergawe Toetsing: Ou API weergawes mag meer kwesbaar wees vir aanvalle. Kontroleer altyd vir en toets teen verskeie API weergawes.

Gereedskap en Hulpbronne vir API Pentesting

  • kiterunner: Uitstekend vir die ontdekking van API eindpunte. Gebruik dit om padhulpmiddels en parameters teen teiken APIs te skandeer en brute force.
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 is 'n opdraglyn hulpmiddel wat ontwerp is om te help met die oudit van blootgestelde Swagger/OpenAPI definisie lêers deur die geassosieerde API eindpunte vir swak outentisering te kontroleer. Dit bied ook opdrag sjablone vir handmatige kwesbaarheidstoetsing.
  • Bykomende hulpmiddels soos automatic-api-attack-tool, Astra, en restler-fuzzer bied op maat gemaakte funksies vir API sekuriteitstoetsing, wat wissel van aanvalsimulasie tot fuzzing en kwesbaarheidsskandering.
  • Cherrybomb: Dit is 'n API sekuriteitshulpmiddel wat jou API oudit op grond van 'n OAS-lêer (die hulpmiddel is in rust geskryf).

Leer- en Oefenbronne

  • OWASP API Sekuriteit Top 10: Essensiële leesstof om algemene API kwesbaarhede te verstaan (OWASP Top 10).
  • API Sekuriteitskontrolelys: 'n Omvattende kontrolelys vir die beveiliging van API's (GitHub link).
  • Logger++ Filters: Vir die jag op API kwesbaarhede, bied Logger++ nuttige filters (GitHub link).
  • API Eindpunte Lys: 'n Gekureerde lys van potensiële API eindpunte vir toetsdoeleindes (GitHub gist).

Verwysings

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks