Coller JavaScript

Les navigateurs modernes peuvent utiliser JavaScript pour accéder au presse-papiers de l'utilisateur et le manipuler, en lecture comme en écriture. La technologie sous-jacente n'est pas nouvelle, mais ce n'est que récemment que des attaques (connues sous le nom de « pastejacking ») ont émergé en ligne, exploitant cette fonctionnalité au détriment d'utilisateurs non avertis. L'implémentation de cette fonctionnalité en JavaScript est relativement simple.


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