JavaScript PasteJacking

Nowoczesne przeglądarki mogą używać JavaScript do odczytu i zapisu w schowku użytkownika, co oznacza, że ​​mogą nim również manipulować. Podstawową technologią jest już stara czapka, ale dopiero od niedawna w sieci 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 dowolny tekst z takiej strony, niechciany ciąg zawsze trafia do schowka (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 kopiując nieszkodliwy fragment kodu, możesz strzelać do swoich partycji w przelocie.

27670b8ba9840e688369822a3fcfb2d9

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

27670b8ba9840e688369822a3fcfb2d9

Jeśli zaznaczysz żądany tekst, na przykład w najnowszej przeglądarce Firefox (v. 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