Tak, dokładnie JavaScript. Właśnie spotkałem takiego robaka i próbowałem go odkodować.
Rzeczywistym problemem jest:
Najnowszy robak Facebook działa, zachęcając użytkowników do odwiedzenia strony, co powoduje, że wstawiają ciąg JavaScript do paska adresu, a tym samym go wykonują.
Więc nigdy nie kopiuj kodu JavaScript do paska adresu. To jest główny problem. I nie klikaj żadnych linków, którym nie ufasz. Lub przynajmniej otwórz te linki w nowym oknie za pomocą trybu prywatności (Firefox) lub trybu incognito (Chrome), aby nie mógł uzyskać dostępu do sesji na Facebooku.
Co zrobili nasi hakerzy, aby ludzie nie zdawali sobie sprawy z tego, co robią?
Ucieczka ze skryptu
Ciąg, który kopiujesz do paska adresu URL, w większości prowadzi do innego uruchamianego JavaScript. Ten skrypt jest faktycznie dekodowany na byty. Więc zamiast używać znaków ciągu, cały skrypt został umieszczony w ciągu znaków i uciekł, aby nikt nie mógł go odczytać.
Na przykład, gdybym miał bardzo złośliwą funkcję, uciekłbym z niej, a użytkownik zobaczyłby tylko:
funkcja% 20 test% 28% 29% 20% 7B% 20alert% 20% 28% 22LOL% 22% 29% 3B% 20% 7D
i byłoby to bez szwanku
test funkcji () {alert („LOL”); }
Dlatego skrypt odskakuje „siebie” przed jego wykonaniem.
Zaciemniając to
Teraz robi się brzydko: przed ucieczką zły kod JavaScript jest zaciemniony, z nazwami funkcji jak _____x
i zmiennymi jak aLDIWEJ
. W dalszym ciągu ma to sens dla JavaScript, ale jest całkowicie nieczytelne dla ludzi. Odbywa się to ponownie, aby zamaskować intencje naszych hakerów na Facebooku.
W tym momencie kod mógł wyglądać mniej więcej tak:
Co robi skrypt
Cóż, skrypt wykonuje bieżącą sesję na Facebooku. Ponieważ jesteś zalogowany na stronie, może zrobić wszystko w Twoim imieniu. Na przykład, co może zrobić za pomocą interfejsu API Facebooka:
- tworząc wydarzenie takie jak „OMG, widzę, kto mnie śledził!”
- rozmawiać z ludźmi
- aktualizacje statusu publikowania
- itp.
Wszystko to dzieje się przez wywołanie niektórych stron API Facebooka (niektóre strony PHP, które zapomniałem).