Naar de inhoud

De OWASP Top 10, uitgelegd voor webshops

Bijgewerkt op · 5 minuten lezen · door Enes

In het kort

De OWASP Top 10 is een internationaal erkende lijst van de tien grootste beveiligingsrisico’s in websites en webapplicaties. Het non-profit OWASP stelt hem op. De huidige editie is die van 2025. Denk aan klanten die meer zien dan bedoeld, verkeerde instellingen en onveilige plug-ins. Een scanner vindt een deel; logicafouten vindt alleen een mens.

In dit artikel (13 delen)
  1. Wat is de OWASP Top 10?
  2. A01: Broken Access Control
  3. A02: Security Misconfiguration
  4. A03: Software Supply Chain Failures
  5. A04: Cryptographic Failures
  6. A05: Injection
  7. A06: Insecure Design
  8. A07: Authentication Failures
  9. A08: Software or Data Integrity Failures
  10. A09: Security Logging and Alerting Failures
  11. A10: Mishandling of Exceptional Conditions
  12. Wat een scan wel en niet vindt
  13. Zo gebruiken wij de OWASP Top 10

Wat is de OWASP Top 10?

Deze uitleg van de OWASP Top 10 is geschreven voor webshopeigenaren. OWASP (Open Worldwide Application Security Project) is een non-profitorganisatie die gratis kennis deelt over het beveiligen van software. De Top 10 is hun bekendste document: een bewustwordingslijst van de tien belangrijkste risico’s voor webapplicaties. Hij is gebaseerd op gegevens over gevonden kwetsbaarheden en input uit de vakgemeenschap.

De lijst wordt om de paar jaar vernieuwd. De huidige editie is de OWASP Top 10:2025; de vorige was die van 2021. Hieronder staan alle tien in de volgorde en met de namen van OWASP zelf. Bij elk punt staat een voorbeeld uit een webshop. In ons artikel over vijf zwakke plekken leest u de vijf die wij het vaakst tegenkomen.

A01: Broken Access Control

Wat het is: iemand kan iets zien of doen waar hij geen recht op heeft. Het is niet voor niets nummer één. Volgens OWASP had elke geteste applicatie in hun gegevens een vorm van broken access control. De categorie omvat 40 soorten bekende zwakke plekken (CWE’s). Webshopvoorbeeld: een klant opent zijn bestelling via /account/bestelling/10452 en verandert het nummer in 10453. Hij ziet dan naam, adres en bestelling van een andere klant.

Wat u doet: laat de server bij elke pagina en elk verzoek controleren of deze gebruiker dit mag zien. Verberg een knop niet alleen in de browser.

A02: Security Misconfiguration

Wat het is: een verkeerde of te ruime instelling. Webshopvoorbeeld: de foutopsporing van WordPress staat aan op de live shop. Of een map met back-ups is via internet op te vragen. Of het standaard beheeradres is voor iedereen bereikbaar.

Wat u doet: zet foutopsporing uit op de live omgeving en haal back-ups en testbestanden uit de webmap. Loop ook de beveiligingsinstellingen van uw hosting na.

A03: Software Supply Chain Failures

Wat het is: zwakke plekken in onderdelen van anderen die u gebruikt. En in de manier waarop die worden gebouwd en bijgewerkt. Webshopvoorbeeld: een verouderde plug-in voor productfilters met een bekend lek. Of een extern script op uw checkout dat wordt aangepast om betaalgegevens mee te lezen.

Wat u doet: houd een lijst bij van alle plug-ins, apps en scripts en werk ze bij. Verwijder wat u niet gebruikt. Wees terughoudend met scripts van derden op betaalpagina’s.

A04: Cryptographic Failures

Wat het is: gegevens die niet of slecht versleuteld zijn. Webshopvoorbeeld: een oude pagina die nog via http zonder s werkt. Wachtwoorden die met een verouderde methode zijn opgeslagen. Of een klantexport die onversleuteld rondgaat per mail.

Wat u doet: gebruik overal https en laat uw platform wachtwoorden veilig opslaan. Deel bestanden met klantgegevens niet per gewone mail.

A05: Injection

Wat het is: invoer van een bezoeker wordt uitgevoerd als opdracht. Webshopvoorbeeld: een zoekveld dat databasetaal doorgeeft aan de database (SQL-injectie). Of een productreview met een script dat bij andere bezoekers wordt uitgevoerd (cross-site scripting).

Wat u doet: laat uw bouwer elke invoer controleren en veilig verwerken. Gebruik de beveiligde functies van uw platform in plaats van zelfgeschreven databasecode.

A06: Insecure Design

Wat het is: de fout zit in het ontwerp, niet in de code. Webshopvoorbeeld: een eenmalige kortingscode die toch stapelt als u hem tegelijk in twee vensters gebruikt. Of een prijs die in het verzoek naar de server aan te passen is.

Wat u doet: bedenk bij elke nieuwe functie hoe iemand hem kan misbruiken. Laat de server prijzen en kortingen altijd zelf berekenen. Zulke logicafouten vindt geen scanner; lees ons artikel over kortingscodes en logicafouten.

A07: Authentication Failures

Wat het is: zwakke plekken in inloggen en wachtwoorden. Webshopvoorbeeld: een beheerlogin zonder limiet op inlogpogingen en zonder tweestapsverificatie. Of een herstellink voor uw wachtwoord die meerdere keren werkt.

Wat u doet: zet tweestapsverificatie aan voor elk beheeraccount, beperk het aantal inlogpogingen en laat herstellinks snel verlopen.

A08: Software or Data Integrity Failures

Wat het is: software of gegevens worden vertrouwd zonder te controleren of ze echt zijn. Webshopvoorbeeld: uw shop zet een bestelling op betaald zodra er een bericht binnenkomt dat op uw betaalprovider lijkt. De digitale handtekening van dat bericht wordt niet gecontroleerd.

Wat u doet: gebruik de officiële plug-in of koppeling van uw betaalprovider. Controleer de status van een betaling altijd bij de provider zelf. Installeer updates alleen uit betrouwbare bron.

A09: Security Logging and Alerting Failures

Wat het is: aanvallen worden niet vastgelegd of niemand krijgt een seintje. Webshopvoorbeeld: iemand probeert een nacht lang duizenden wachtwoorden op uw beheerlogin. Of hij maakt een nieuw beheeraccount aan. Niemand merkt het.

Wat u doet: leg inlogpogingen en wijzigingen in beheeraccounts vast en bewaar die logbestanden een tijd. Stel een melding in bij verdachte activiteit.

A10: Mishandling of Exceptional Conditions

Wat het is: de software gaat verkeerd om met fouten en onverwachte situaties. Webshopvoorbeeld: de betaalprovider reageert even niet, en uw shop rondt de bestelling dan toch af alsof er betaald is. Of een foutmelding toont bezoekers de softwareversie en de opbouw van uw database.

Wat u doet: laat bij een fout de veilige kant kiezen (bestelling niet afronden). Toon bezoekers een algemene foutmelding en leg de details alleen vast in een logbestand.

Wat een scan wel en niet vindt

Een geautomatiseerde scan vindt goed bekende technische signalen. Denk aan verouderde versies (A03) en ontbrekende of verkeerde instellingen (A02). Ook zwakke https-instellingen (A04) en een deel van de injectie-fouten (A05).

Een scan snapt niet hoe uw webshop bedoeld is. Kan klant A de bestelling van klant B zien (A01)? Is een kortingscode te misbruiken (A06)? Accepteert uw shop een vervalst betaalbericht (A08)? Dat test alleen een mens. Daarvoor is een pentest nodig.

Zo gebruiken wij de OWASP Top 10

De Top 10 is een lijst van risico’s, geen testmethode. Wij testen volgens de OWASP Web Security Testing Guide, de uitgebreide testhandleiding van dezelfde organisatie. De Top 10 gebruiken we om bevindingen in een herkenbaar kader te plaatsen. Op onze pagina Zo testen wij leest u wat we precies testen.

Met een Inbraaktest (vanaf € 2.950 excl. btw) testen we uw webshop van buitenaf. Met de Inbraaktest Totaal (vanaf € 4.950 excl. btw) ook achter de inlog, waar vooral A01 en A07 spelen. Wij testen alleen na schriftelijke toestemming van de eigenaar van het systeem.

Veelgestelde vragen

Is de OWASP Top 10 een wet of verplichting?

Nee. Het is een bewustwordingsdocument van een non-profitorganisatie. Wel wordt de lijst wereldwijd gebruikt als maatstaf voor goede webbeveiliging, en klanten kunnen ernaar verwijzen in hun eisen.

Dekt een pentest altijd de hele lijst?

Niet vanzelf. Wat getest wordt, hangt af van de scope. Een test zonder inlog kan bijvoorbeeld niet alles van A01 en A07 controleren, omdat die vaak achter de inlog zitten. Vraag de aanbieder vooraf welke onderdelen wel en niet meedoen.

Hoe vaak verandert de lijst?

OWASP vernieuwt de lijst om de paar jaar. De huidige editie is van 2025; de vorige was van 2021. Kijk voor de actuele versie altijd op de officiële site van OWASP.

Verder lezen

Bronnen

  1. OWASP Top 10:2025top10.owasp.org
  2. OWASP Top 10 (projectpagina)owasp.org
  3. OWASP Web Security Testing Guideowasp.org

Lees ook deze artikelen

Meer uitleg in gewone taal, met bronnen.

Naar de kennisbank

Liever laten testen dan zelf uitzoeken

Bij dit onderwerp past De Inbraaktest. In een gratis intake kijken we samen of dat klopt.

+31 485 234 002info@blackboxservice.nl

Geen verplichtingen, geen verkooppraatje.

Deze site gebruikt geen trackingcookies en laadt niets van derden.

Voor u gaat

Check uw website en e-mail gratis

In een paar seconden ziet u hoe uw website en e-mail ervoor staan. Wij benaderen uw systeem niet en bewaren niets.