Coller JavaScript

Les navigateurs modernes peuvent utiliser JavaScript pour lire et écrire dans le presse-papiers de l'utilisateur, ce qui signifie qu'ils peuvent également le manipuler. La technologie sous-jacente est déjà ancienne, mais ce n'est que récemment que de plus en plus d'attaques (sous le nom de "PasteJacking") circulent sur Internet, qui profitent de cette possibilité pour l'utilisateur inexpérimenté. Une implémentation en JavaScript est banale.


Seul le script suivant est intégré du côté malveillant:

27670b8ba9840e688369822a3fcfb2d9

Si vous copiez du texte à partir d'une telle page, la chaîne indésirable se retrouve toujours dans le presse-papiers (dans cette implémentation quel que soit le texte copié). Au lieu de "commande diabolique", vous pouvez maintenant trouver beaucoup de choses laides. Le tout devient fatal si un saut de ligne en fin de ligne est utilisé pour exécuter immédiatement le code:

27670b8ba9840e688369822a3fcfb2d9

Il est également facile de réinitialiser la sortie de la console afin que l'utilisateur ne remarque pas immédiatement ce qu'il a entré. Par exemple, il est concevable que lors de la copie d'un extrait de code inoffensif, vous puissiez tirer sur vos partitions au passage.

27670b8ba9840e688369822a3fcfb2d9

Le presse-papiers peut être manipulé (sous une forme différente) même sans JavaScript:

27670b8ba9840e688369822a3fcfb2d9

Si vous sélectionnez le texte souhaité, par exemple dans la dernière version de Firefox (v. 45.0), ce n'est pas ce texte mais le texte qui se trouve derrière qui se retrouve dans le presse-papiers.

Les deux méthodes peuvent être essayées en direct ici. Voici la variante JS:

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

Ainsi que la variante CSS:

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

Retour