NieuwStart je eerste gratis run
api pentest

Een API pentest die de endpoints vindt die niemand heeft opgeschreven.

Autorisatie is waar API's stukgaan, en dat gebeurt per endpoint. Het test ze met accounts die het zelf beheert, en laat je daarna de request en de response zien die het beslisten.

01 / Dekking

Waar een API pentest naar op zoek is.

Het grootste risico van een API zit in wie wat mag aanroepen, en dat is zelden het enige wat er mis is.

01

Kan de ene aanroeper bij de records van de andere?

Degene die een API leegtrekt. Verander een identifier en kijk wiens record terugkomt. Het doet dit vanuit twee accounts die het zelf in handen heeft en leest het object daarna terug, want een 200 bewijst niet dat iets mocht, en een 403 op de ene route bewijst niets over de volgende.

02

Kan een rol aanroepen wat niet zou moeten?

Beheerroutes die kijken naar wat de interface toont in plaats van naar wat het token draagt, en operaties die het platform aanbiedt maar waar geen scherm in je product ooit om vraagt. Wat de client nooit laat zien, is nog steeds aan te roepen.

03

Kan de client zetten wat hij nooit meekreeg?

Of role, tier, saldo of een verified-vlag meegestuurd kan worden in een update, en of die waarde ook echt blijft staan, wat je vaststelt door het object terug te lezen en niet aan de statuscode die terugkwam.

04

Houdt het credential stand?

Tokens die een logout overleven, refresh-flows die meer teruggeven dan er gevraagd werd, endpoints die een token accepteren dat voor iets heel anders is uitgegeven, en loginroutes waar niets op remt.

05

Wat gebeurt er met een payload die je niet verwachtte?

SQL- en command-injectie achter JSON-bodies en queryparameters, en wat een ongeldige request op de terugweg oplevert. Een stacktrace die bij de aanroeper belandt is op zichzelf al een bevinding.

06

Wat geeft de response terug?

Een endpoint dat het hele record teruggeeft omdat de client er maar drie velden van toont, en operaties die je geld of rekenkracht kosten bij elke aanroep. Wat je interface verbergt, is niet verborgen voor wie de response leest.

02 / Aanvalsoppervlak

Het test de endpoints, niet de documentatie.

Een endpoint dat nergens staat en door niets wordt aangeroepen is nog steeds bereikbaar, en nog steeds van jou.

01

Waar je het op richt

Een API die je als doelwit opgeeft wordt ook als API getest, operatie voor operatie, in plaats van als wat een crawler toevallig tegenkwam.

02

Wat de applicatie prijsgeeft

Het bedient je eigen front-end en kijkt mee wat de client werkelijk aanroept. Endpoints die nooit in een specificatie zijn beland komen hier boven water, want iets in je product gebruikt ze al.

03

Wat de broncode zegt

Met je repository gekoppeld leest het de routedefinities zelf. Een endpoint dat nergens gedocumenteerd staat en door niets wordt aangeroepen staat alsnog op de lijst, en wordt alsnog getest.

03 / Wat je terugkrijgt

Bevindingen tijdens de run. Een rapport zodra hij stopt.

01

De uitwisseling die het aantoonde

De request die het stuurde en de response die terugkwam, bij het endpoint waar het ze heen stuurde. Voer het zelf opnieuw uit en je krijgt dezelfde uitkomst.

02

Een rapport aan het eind van de run

Het rapport dat we vroeger met de hand schreven na een engagement, nu gegenereerd uit de run. Het is wat teams aanleveren als pentestbewijs voor ISO 27001 of SOC 2, en het is klaar zodra de run klaar is.

03

De fix, als pull request

Met je repository gekoppeld wordt de ontbrekende controle geschreven waar hij hoort, en geopend op je branch om te beoordelen.

04

De volgende run, al ingepland

Wekelijks, maandelijks, of bij elke push. Een nieuw endpoint dat op dinsdag live gaat wordt op dinsdag getest, niet bij het volgende assessment.

04 / Vragen

Vragen, beantwoord.

klaar wanneer jij het bent

Richt het op je API.

Een basis-URL en een account zijn genoeg om te beginnen. Koppel de repository en de ontbrekende controle komt geschreven terug.