OWASP Top 10:2025

OWASP Top 10:2025 voor webshops, vertaald naar de praktijk

De OWASP Top 10 is de bekendste lijst van webapplicatie-risico's. Maar wat betekent 'Software or Data Integrity Failures' voor jouw checkout? Wij vertalen alle tien categorieën naar Magento, Shopify en Laravel, en toetsen je shop erop.

  • Alle tien risico's, concreet uitgelegd
  • Toetsing van je eigen shop
  • Fixes door hetzelfde team

Een checklist is geen beveiliging, maar wel een goede kaart

OWASP is een open community die al jaren in kaart brengt waar webapplicaties het vaakst misgaan. De Top 10 is geen standaard waar je voor slaagt. Het is een bewustwordingslijst: dit zijn de categorieën waar de meeste echte problemen in vallen.

De editie van 2025 brengt twee nieuwe categorieën. Software Supply Chain Failures (A03) erkent dat je code van anderen een ingang is. Mishandling of Exceptional Conditions (A10) gaat over wat er gebeurt als iets onverwachts misgaat. SSRF is opgegaan in Broken Access Control, die op één blijft staan.

Voor een webshop is de lijst bruikbaar als je hem concreet maakt. Wat betekent access control in een klantaccount? Waar zit je supply chain? Hieronder per categorie wat het betekent, hoe het eruitziet en wat wij eraan doen.

De tien risico's van 2025, per categorie

Per categorie: wat het in een Magento-, Shopify- of Laravel-shop betekent, een herkenbaar voorbeeld en hoe wij het afdekken.

CategorieWat het betekent in je webshopVoorbeeldHoe wij het afdekken
A01 Broken Access ControlGebruikers zien of wijzigen data die niet van hen is. Inclusief SSRF: de server laten verbinden met interne adressen.Order- of factuur-ID in de URL ophogen en de bestelling van een andere klant zien.Autorisatie per endpoint controleren, IDOR-tests op orders, facturen en accounts, policies in Laravel.
A02 Security MisconfigurationInstellingen die te veel openzetten.Developer mode op productie, open Redis of OpenSearch, directory listing, debug-output.Configuratiereview van applicatie, webserver en services; hardening-checklist per platform.
A03 Software Supply Chain FailuresKwetsbare of kwaadaardige code via extensies, Composer, npm of je CI.Een verlaten Magento-extensie met een bekend lek, of een gecompromitteerd npm-pakket in de build.composer audit in de deploy, extensie-inventaris, lockfiles, minimale CI-secrets.
A04 Cryptographic FailuresGevoelige data zonder goede versleuteling of met zwakke sleutels.Encryptiesleutel uitgelekt via een lek en nooit geroteerd, of API-keys in plain text in de database.Secrets buiten git, sleutelrotatie na incidenten, TLS-configuratie, controle op opslag van gevoelige data.
A05 InjectionInvoer die als code of query wordt uitgevoerd: SQL, template, command, XSS.TrojanOrders (CVE-2022-24086): template injection via de checkout. Of ontbrekende escaping in een phtml.Code review op raw SQL en escaping, $escaper in Magento, Eloquent en bindings in Laravel.
A06 Insecure DesignFouten in de logica, niet in de code.Een kortingscode die onbeperkt stapelt, of een retourflow zonder controle op eigenaarschap.Threat modeling bij nieuwe features, misbruikscenario's meenemen in het ontwerp.
A07 Authentication FailuresZwakke login, sessies of accountherstel.Credential stuffing op klantaccounts, admin zonder 2FA, SessionReaper (CVE-2025-54236) met account-overname.2FA op admin, rate limiting en bot-bescherming op login, sessieconfiguratie, snelle patches.
A08 Software or Data Integrity FailuresCode of data wordt vertrouwd zonder integriteitscheck.Een extern script op de checkout dat stil wordt aangepast tot skimmer. Of onveilige deserialisatie.CSP en SRI op betaalpagina's, scriptinventaris, monitoring op wijzigingen, signed deploys.
A09 Security Logging & Alerting FailuresJe merkt een aanval niet, of pas veel te laat.Een nieuwe admin-gebruiker die weken onopgemerkt blijft.Logging van logins, admin-acties en configwijzigingen, met alerts op afwijkingen.
A10 Mishandling of Exceptional ConditionsOnverwachte fouten leiden tot een onveilige toestand.Een betaalcallback die bij een time-out de order toch als betaald markeert, of stacktraces met paden en queries voor bezoekers.Fail-closed logica, foutafhandeling reviewen, geen debug-info op productie, tests op randgevallen.

Waar we in webshops het vaakst op stuiten

Bij audits zien we vaak dezelfde drie. Broken access control in maatwerk: een endpoint of controller die controleert of je bent ingelogd, maar niet of de data van jou is. Dat heet IDOR en het is verrassend vaak raak bij orders, facturen en klantgegevens.

Daarna supply chain. Extensies die jaren geen update kregen, of een build die zonder lockfile draait. Het lek zit dan niet in jouw code, maar je bent er wel verantwoordelijk voor.

Als derde misconfiguratie: debug-instellingen op productie, services die publiek bereikbaar zijn, te ruime bestandsrechten. Saai, maar het is precies wat geautomatiseerde aanvallers als eerste proberen.

OWASP ASVS: van bewustwording naar eisen

De Top 10 vertelt wat er vaak misgaat. De ASVS vertelt wat je moet controleren.

De Application Security Verification Standard (ASVS) is ook van OWASP. Het is een lijst met concrete, toetsbare eisen, ingedeeld in drie niveaus. Niveau 1 is de basis die elke applicatie zou moeten halen. Niveau 2 past bij de meeste applicaties met gevoelige data, zoals webshops met klantaccounts. Niveau 3 is voor de meest kritieke systemen.

Voor maatwerk is ASVS nuttig als afsprakenkader. Je legt vooraf vast welke eisen gelden, en een review of pentest toetst daarop. Dat voorkomt discussie achteraf over wat 'veilig' betekent.

Eerlijk: voor een standaard Magento- of Shopify-shop zonder veel maatwerk is volledige ASVS-toetsing vaak overkill. Daar levert een gerichte audit meer op. Bouw je een B2B-portal, een eigen API of een Laravel-applicatie met klantdata, dan is ASVS niveau 2 een goed uitgangspunt.

Snelle zelfcheck langs de Top 10

Geen volledige toets, wel een goede eerste indicatie.

Toegang en authenticatie (A01, A07)

  • Kun je als klant alleen je eigen orders en facturen opvragen, ook via de API?
  • Heeft elke admin-gebruiker 2FA en een eigen account?
  • Is login beschermd tegen credential stuffing met rate limiting of bot-bescherming?

Code en dependencies (A03, A05, A08)

  • Draait composer audit of een vergelijkbare check in je deploy?
  • Weet je welke extensies of packages al lang niet zijn bijgewerkt?
  • Zijn alle scripts op je betaalpagina bekend en beschermd met CSP en SRI?

Configuratie en foutafhandeling (A02, A04, A10)

  • Staat productie in production mode zonder debug-output?
  • Staan secrets buiten git en zijn ze na een incident geroteerd?
  • Faalt je betaalflow veilig als een externe dienst niet reageert?

Ontwerp en detectie (A06, A09)

  • Denk je bij nieuwe features na over hoe ze misbruikt kunnen worden?
  • Krijg je een melding bij een nieuwe admin-gebruiker of een gewijzigd betaalscript?

Zo werken we

Een OWASP-review is bij ons geen scan met een PDF. We lezen code, testen en lossen op.

  1. 1

    Scope bepalen

    Welke onderdelen tellen: checkout, klantaccount, API, admin, maatwerkmodules of een Laravel-portal? We kiezen wat het meeste risico draagt.

  2. 2

    Inventaris

    Platformversie, extensies, packages, endpoints en integraties. Zo weten we waar de tien categorieën in jouw shop zitten.

  3. 3

    Review en test

    Code review op injection, access control en foutafhandeling. Handmatige tests op IDOR, authenticatie en betaalflow. Tools waar ze helpen, mensen waar het telt.

  4. 4

    Rapport per categorie

    Bevindingen ingedeeld naar de OWASP Top 10:2025, met ernst, bewijs en een concrete fix.

  5. 5

    Oplossen en hertesten

    Wij kunnen de fixes ook zelf doorvoeren. Daarna testen we opnieuw of het echt dicht is.

Wat je krijgt

  • Een overzicht van je shop langs alle tien OWASP-categorieën van 2025
  • Bevindingen met ernst, bewijs en reproductiestappen
  • Concrete fixes per bevinding, afgestemd op Magento, Shopify of Laravel
  • Een advies of en op welk ASVS-niveau verdere toetsing zinvol is
  • Optioneel: de fixes doorgevoerd en hertest door hetzelfde team
  • Een korte toelichting in gewone taal voor directie of eigenaar

Waarom Coding.nl

We bouwen zelf op deze platformen

Magento, Hyvä, Shopify en Laravel zijn ons dagelijkse werk. We weten waar de risico's per platform echt zitten.

15+ jaar e-commerce

We zien welke categorieën in webshops het vaakst misgaan, en welke vooral op papier bestaan.

Hyvä Silver Partner, Hypernode Silver Partner

Diepe kennis van de Magento-stack, van frontend tot hosting.

Vast senior team, direct contact

Wie de review doet, legt het uit en lost het op. Geen overdracht tussen afdelingen.

Hyvä Silver PartnerHypernode Silver Partner

Veelgestelde vragen

Een lijst van de tien belangrijkste risicocategorieën voor webapplicaties, samengesteld door de open OWASP-community op basis van data en enquêtes. De lijst wordt periodiek herzien; de versie van 2025 is de actuele. Het is geen certificering of standaard, maar een bewustwordingsdocument. Voor concrete toetsbare eisen gebruik je de OWASP ASVS.

Benieuwd hoe je shop scoort op de OWASP Top 10?

Vertel ons op welk platform je draait en wat je hebt laten bouwen. We stellen een gerichte review voor, met de onderdelen die bij jou het meeste risico dragen.