JavaScript PasteJacking

Browserele moderne pot folosi JavaScript pentru a citi și a scrie în clipboard-ul utilizatorului, ceea ce înseamnă că îl pot manipula. Tehnologia de bază este deja o pălărie veche, dar abia recent au circulat pe Internet tot mai multe atacuri (sub numele de „PasteJacking”), care profită de această posibilitate pentru utilizatorul neexperimentat. O implementare în JavaScript este banală.


Numai următorul script este integrat pe partea rău intenționată:

27670b8ba9840e688369822a3fcfb2d9

Dacă copiați orice text dintr-o astfel de pagină, șirul nedorit ajunge întotdeauna în clipboard (indiferent de textul copiat în această implementare). În loc de „poruncă malefică” puteți veni acum cu o mulțime de lucruri urâte. Întregul lucru devine fatal dacă se utilizează o întrerupere de linie la sfârșitul liniei pentru a executa imediat codul:

27670b8ba9840e688369822a3fcfb2d9

De asemenea, este ușor să resetați ieșirea consolei, astfel încât utilizatorul să nu observe imediat ce a introdus. De exemplu, este de conceput ca atunci când copiați un fragment de cod inofensiv, puteți să vă împărțiți partițiile în trecere.

27670b8ba9840e688369822a3fcfb2d9

Clipboard-ul poate fi manipulat (într-o altă formă) chiar și fără JavaScript:

27670b8ba9840e688369822a3fcfb2d9

Dacă selectați textul dorit, de exemplu în cel mai recent Firefox (v. 45.0), acesta nu textul din spatele său ajunge în clipboard.

Ambele metode pot fi încercate live aici. Aici varianta JS:

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

La fel și varianta CSS:

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

Înapoi