JavaScript PasteJacking

Met behulp van JavaScript kunnen moderne browsers het klembord van de gebruiker lezen en ernaar schrijven, dat wil zeggen dat ze het ook kunnen manipuleren. De onderliggende technologie is oud, maar pas sinds kort circuleren er steeds meer aanvallen (onder de naam "PasteJacking") op het netwerk die profiteren van deze mogelijkheid voor de onervaren gebruiker. Een implementatie in JavaScript is banaal.


Alleen het volgende script is aan de kwaadaardige kant geïntegreerd:

27670b8ba9840e688369822a3fcfb2d9

Als u tekst van zo'n pagina kopieert, komt de ongewenste tekenreeks altijd op het klembord terecht (ongeacht de gekopieerde tekst in deze implementatie). In plaats van "evil command" kun je nu met veel lelijke dingen komen. De hele zaak wordt fataal als een regeleinde aan het einde van de regel wordt gebruikt om de code onmiddellijk uit te voeren:

27670b8ba9840e688369822a3fcfb2d9

Het is ook gemakkelijk om de console-uitgang te resetten, zodat de gebruiker niet meteen merkt wat hij heeft ingevoerd. Het is bijvoorbeeld denkbaar dat u bij het kopiëren van een onschadelijk codefragment uw partities terloops kunt schieten.

27670b8ba9840e688369822a3fcfb2d9

Het klembord kan ook zonder JavaScript worden gemanipuleerd (in een andere vorm):

27670b8ba9840e688369822a3fcfb2d9

Als je de gewenste tekst selecteert, bijvoorbeeld in de nieuwste Firefox (v. 45.0) is het niet deze maar de tekst erachter die op het klembord terecht komt.

Beide methoden kunnen hier live worden uitgeprobeerd. Hier de JS-variant:

See the Pen Pastejacking #1 by David Vielhuber (@vielhuber) on CodePen.

Evenals de CSS-variant:

See the Pen Pastejacking #2 by David Vielhuber (@vielhuber) on CodePen.

Terug