JavaScript PasteJacking

Moderne browsers kunnen JavaScript gebruiken om toegang te krijgen tot het klembord van de gebruiker en dit te manipuleren, zowel om te lezen als te schrijven. De onderliggende technologie is niet nieuw, maar pas recent zijn er steeds meer aanvallen (bekend als "pastejacking") online opgedoken die deze mogelijkheid misbruiken ten nadele van nietsvermoedende gebruikers. Het implementeren hiervan in JavaScript is vrij eenvoudig.


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 veel lelijke dingen verzinnen. 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 tekst 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