Et køb til 0 kr.

En webshop lod mig betale med et testkort, og billetterne landede direkte i min indbakke. Sådan tjekker du, at din egen shop ikke gør det samme.

Abdallah

· 2 min. læsning

Illustration af et hvidt betalingskort, der glider gennem en åben port af to blå D-former, mens en orange billet flyver ud på den anden side.

For noget tid siden fandt jeg en fejl på en webshop, der gjorde det muligt at gennemføre et køb for 0 kr. Ikke med et smart angreb, men med et kortnummer, som alle kan slå op på nettet.

01Testkortene var stadig slået til

De fleste betalingsgateways har en række testkort. Det er kortnumre, som udviklere bruger, når de bygger og fejlsøger en betaling, så de ikke skal trække rigtige penge hver gang. De er offentlige og står i gatewayens egen dokumentation.

På den her shop havde man glemt at slå dem fra, da siden gik live. Betalingsmodulet stod stadig i testtilstand, så et testkort blev godkendt som en helt almindelig betaling.

02Når ingen ser det ske

Produkterne på shoppen var digitale, og derfor var hele flowet automatiseret. Jeg betalte med et testkort, systemet godkendte det, og billetterne landede direkte i min indbakke. Ingen ordre skulle pakkes, så intet menneske så den.

Et hul, der leverer varen automatisk, bliver ikke opdaget af lageret. Det bliver opdaget af regnskabet, måneder senere.

03Hvorfor det sker så tit

OWASP's testguide (åbner i en ny fane), en anerkendt guide til at teste sikkerheden på en hjemmeside, siger det klart: testkort må kun virke i udviklingsmiljøer, aldrig på den live side.

Problemet er, at mange webshops slet ikke har et udviklingsmiljø. Man udvikler og tester direkte på den live side. Min mavefornemmelse siger ni ud af ti, og ja, det tal er 100 % mavefornemmelse. Men så længe testen foregår på den rigtige shop, er der kun én knap mellem en test og et gratis køb, og den er let at glemme.

04Sådan lukker du hullet

  1. Tjek i dag, om testkort er slået fra i din betalingsgateway. Det ligger i gatewayens indstillinger, tit under test eller sandbox.
  2. Slå dem fra hver gang, du er færdig med at teste. Gør det til sidste punkt på tjeklisten, ikke noget du husker bagefter.
  3. Bevis det. Lav en sidste betaling i live-tilstand med et testkort. Den skal blive afvist. Går den igennem, er hullet stadig åbent.

Er du i tvivl, eller har din udvikler skiftet nummer, så book en samtale. Jeg tester gerne, om din shop er lukket for gratis køb. Du kan også læse, hvad der ellers ligger under overfladen på en hjemmeside.

Skrevet af

Abdallah

Softwareingeniør og grundlægger af Dantitet

Jeg hedder Abdallah. Jeg er uddannet softwareingeniør, har en kandidat i cybersikkerhed, og i dag er Dantitet mit fuldtidsarbejde. Jeg bygger for virksomhedsejere, der vil have en hjemmeside, som både er pæn og virker.

Vil du have en hjemmeside, der er i orden under overfladen?

En kort samtale er som regel nok til at afgøre, om jeg er den rette til opgaven. Udfyld det du kan. Jo mere jeg ved på forhånd, jo mere konkret kan jeg svare. Du hører fra mig inden for en hverdag.

Hvad drejer det sig om? (skal udfyldes)
Budget (skal udfyldes)

Det sparer os begge tid. Ved du det ikke, så vælg “Ved ikke endnu”.

Hvornår skal det ske? (skal udfyldes)

Hvis du hellere vil ringes op.

Har du en, kigger jeg på den inden vi taler.

Hvad skal siden kunne, og hvad står i vejen i dag? Et par linjer er nok.

Dine oplysninger bruges kun til at besvare din henvendelse. Læs mere i privatlivspolitikken.