1. Waarom SVG-bestanden Anders Zijn dan JPEG en PNG
In tegenstelling tot traditionele rasterafbeeldingen (die bestaan uit binaire pixelreeksen), is een SVG-bestand pure XML-code. Dit betekent dat een browser een SVG-bestand niet alleen rendert als een afbeelding, maar de code ook daadwerkelijk interpreteert als onderdeel van de Document Object Model (DOM) structuur.
2. De Beveiligingsrisico's van Ongecontroleerde SVG's
Omdat SVG's XML bevatten, kunnen kwaadwillenden schadelijke code injecteren:
- Stored Cross-Site Scripting (XSS): Een aanvaller kan
<script>alert(document.cookie)</script>of inline event handlers (zoalsonloadofonclick) toevoegen aan een SVG-bestand. Wanneer een gebruiker dit bestand opent, kan de code sessiecookies stelen. - XML External Entity (XXE) Attacks: Slecht geconfigureerde parsers kunnen worden misleid om gevoelige serverbestanden in te lezen via externe entiteitsverwijzingen (
<!ENTITY xxe SYSTEM "file:///etc/passwd">).
3. Hoe SVG Sanitization Werkt
Een robuuste SVG-sanitizer voert de volgende beveiligingscontroles uit:
- Verwijdert alle
<script>,<foreignObject>en<iframe>elementen. - Stript alle inline JavaScript event handlers (zoals
onclick,onerror,onload). - Blokkeert gevaarlijke URI-schema's zoals
javascript:endata:text/htmlin hyperlinks (<a xlink:href>). - Verwijdert externe entiteitsdeclaraties (DOCTYPE en DTD entiteiten).
4. Beveilig Jouw Vectorbestanden
Gebruik onze SVG Cleaner & Optimizer om jouw vectorbestanden automatisch te ontdoen van schadelijke scripts en overbodige metadata.