JavaScript PasteJacking

Nowoczesne przeglądarki mogą używać JavaScript do odczytywania i zapisywania w schowku użytkownika, co oznacza, że ​​mogą nim również manipulować. Podstawową technologią jest już stara czapka, ale dopiero od niedawna w Internecie krąży coraz więcej ataków (pod nazwą „PasteJacking”), które wykorzystują tę możliwość dla niedoświadczonego użytkownika. Implementacja w JavaScript jest banalna.


Po złośliwej stronie zintegrowany jest tylko następujący skrypt:

27670b8ba9840e688369822a3fcfb2d9

Jeśli skopiujesz jakikolwiek tekst z takiej strony, niechciany ciąg zawsze znajdzie się w schowku (niezależnie od skopiowanego tekstu w tej implementacji). Zamiast „złego rozkazu” możesz teraz wymyślić wiele brzydkich rzeczy. Cała sprawa staje się fatalna, jeśli do natychmiastowego wykonania kodu zostanie użyty podział wiersza na końcu linii:

27670b8ba9840e688369822a3fcfb2d9

Łatwo jest również zresetować wyjście konsoli, aby użytkownik nie zauważył od razu, co wprowadził. Na przykład można sobie wyobrazić, że podczas kopiowania nieszkodliwego fragmentu kodu można strzelać do swoich partycji.

27670b8ba9840e688369822a3fcfb2d9

Schowkiem można manipulować (w innej formie) nawet bez JavaScript:

27670b8ba9840e688369822a3fcfb2d9

Jeśli wybierzesz żądany tekst, na przykład w najnowszej przeglądarce Firefox (wer. 45.0), to nie ten tekst, ale tekst za nim trafi do schowka.

Obie metody można wypróbować na żywo tutaj. Tutaj wariant JS:

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

Jak również wariant CSS:

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

Plecy