Skip to main content
Alle Termen Glossary

JavaScript Injection

Definition

JavaScript-injectie treedt op wanneer een aanvaller erin slaagt ongeautoriseerde JavaScript-code in te voegen en uit te voeren in een webapplicatie. Dit kan leiden tot gegevensdiefstal, sessie-kaping of andere kwaadaardige acties. Preventie vereist juiste inputvalidatie, output-encoding, implementatie van Content Security Policy en zorgvuldige omgang met dynamische code-evaluatie.

Hoe JavaScript-injectie werkt

JavaScript-injectie is het invoegen en uitvoeren van ongeautoriseerde JavaScript binnen een webapplicatie. Het bereikt de browser via verschillende routes: cross-site scripting-fouten die onge-escapete invoer in een pagina weergeven, onveilige dynamische evaluatie van strings via eval, de Function-constructor of timer-callbacks, gecompromitteerde of kwaadaardige third-party scripts geladen vanaf een CDN, en door de aanvaller beheerste data die in een scriptcontext wordt geschreven. Zodra de code draait, behandelt de browser die als legitiem script dat bij de origin van de site hoort. Sommige definities omvatten ook self-XSS via de browserconsole en bookmarklets, waarbij een gebruiker wordt misleid om aanvallerscode te plakken. In elk geval is het bepalende kenmerk dat JavaScript die de ontwikkelaar nooit bedoeld heeft, uiteindelijk binnen de pagina uitvoert.

Waarom JavaScript-injectie ertoe doet

Geïnjecteerde JavaScript draait met het volledige gezag van de origin van de pagina, dus zijn bereik is breed. Het kan cookies, sessietokens en DOM-inhoud lezen en exfiltreren, sessies kapen, toetsaanslagen en formuliervelden loggen, stilletjes requests versturen, de interface herschrijven en verdere payloads laden. Op afrekenpagina's is dit het mechanisme achter digitale skimmers en Magecart: een paar regels toegevoegd aan een vertrouwd script kopiëren stilletjes kaart- en adresvelden naar het domein van een aanvaller, terwijl serverlogs en firewalls niets zien, omdat de diefstal volledig in de browser gebeurt. Aanvallers verhullen de code doorgaans en beperken die tot specifieke pagina's of voorwaarden om controle te ontwijken, waardoor één geïnjecteerd script maandenlang onopgemerkt bij veel gebruikers kan draaien.

Hoe je je tegen JavaScript-injectie verdedigt

Verklein het oppervlak door dynamische code-evaluatie te elimineren, output te encoderen, invoer te valideren en een strikte Content Security Policy met nonces of Subresource Integrity af te dwingen, zodat alleen gecontroleerde scripts draaien. Maar een CSP vertrouwt scripts op basis van hun brondomein, dus een gecompromitteerde toegestane vendor voert nog steeds uit. Hier past cside direct in: het routeert third-party scripts via een Script-methode en analyseert de daadwerkelijke JavaScript-payload voordat die draait, waarbij het kwaadaardig gedrag betrapt, zoals het lezen van kaartvelden of contact opnemen met een onbekend domein, op basis van wat de code doet in plaats van waar die vandaan geladen wordt. cside kan dat gedrag in real time blokkeren en houdt een forensisch verslag bij van de exacte code die draaide, wat is wat PCI DSS 6.4.3 en 11.6.1 vereisen.

Definitie

Hoe verhoudt JavaScript-injectie zich tot XSS?

XSS is de meest voorkomende manier waarop JavaScript-injectie plaatsvindt, door script te injecteren via onge-escapete invoer. Maar injectie kan ook optreden zonder een klassieke XSS-bug: via een gecompromitteerd third-party script, onveilige evaluatie van dynamische data, of een misleide gebruiker die code in de console plakt. XSS is één route naar JavaScript-injectie, niet de enige.

Definitie

Waarom voorkomt een Content Security Policy JavaScript-injectie niet volledig?

Een CSP beperkt welke domeinen en inline scripts mogen draaien, wat veel injecties blokkeert, maar het vertrouwt elk script dat vanaf een toegestane bron wordt geserveerd. Als een vendor die je al toestaat wordt gecompromitteerd, voert de geïnjecteerde code uit als legitiem. Dat stoppen vereist het inspecteren van wat elk script daadwerkelijk doet, niet alleen waar het vandaan komt.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Boek een demo

Wil je dit doornemen met een engineer?

Dertig minuten, op je eigen site. Geen slides.

We laten je zien:

Welke scripts van derden er nu op je site draaien
Hoe je ervoor staat op PCI DSS 6.4.3 en 11.6.1
Welk deel van je verkeer uit bots en AI-agents bestaat

Liever gewoon een vraag stellen?

Vrije momenten zoeken…

Alleen echte mensen. Wij merken het.

Lukt het boeken niet? Agenda in een nieuw tabblad openen

Wat wil je oplossen?

Vertel het ons in één zin, dan komen we terug met iets bruikbaars in plaats van een standaardverhaal.

Waar we meestal mee helpen:

Zien welke scripts van derden op je site draaien
Bewijs voor PCI DSS 6.4.3 en 11.6.1
Bots, AI-agents en accountovername

Liever meteen een moment inplannen? Kies een tijdstip