JavaScript PasteJacking

Los navegadores modernos pueden usar JavaScript para leer y escribir en el portapapeles del usuario, lo que significa que también pueden manipularlo. La tecnología subyacente ya es obsoleta, pero solo recientemente han estado circulando por Internet más y más ataques (bajo el nombre de "PasteJacking"), que aprovechan esta posibilidad para el usuario sin experiencia. Una implementación en JavaScript es banal.


Solo el siguiente script está integrado en el lado malicioso:

27670b8ba9840e688369822a3fcfb2d9

Si copia cualquier texto de dicha página, la cadena no deseada siempre termina en el portapapeles (en esta implementación, independientemente del texto copiado). En lugar de una "orden maligna", ahora puedes pensar en muchas cosas feas. Todo se vuelve fatal si se usa un salto de línea al final de la línea para ejecutar el código inmediatamente:

27670b8ba9840e688369822a3fcfb2d9

También es fácil restablecer la salida de la consola para que el usuario no note inmediatamente lo que ha ingresado. Por ejemplo, es concebible que al copiar un fragmento de código inofensivo, uno pueda disparar sus particiones al pasar.

27670b8ba9840e688369822a3fcfb2d9

El portapapeles se puede manipular (en una forma diferente) incluso sin JavaScript:

27670b8ba9840e688369822a3fcfb2d9

Si selecciona el texto deseado, por ejemplo en la última versión de Firefox (v. 45.0), no es este, sino el texto detrás de él, el que termina en el portapapeles.

Ambos métodos se pueden probar en vivo aquí. Aquí la variante JS:

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

Además de la variante CSS:

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

Espalda