Во-первых, хакер создает вредоносный html-файл с предварительным изображением:Данная статья не является методичкой по взлому!
Веб-клиент WhatsApp сохраняет разрешенные типы документов в клиентской переменной W ["default"]. DOC_MIMES Эта переменная хранит допустимые типы Mime, используемые приложением.
Поскольку зашифрованная версия документа отправляется на серверы WhatsApp, в эту переменную можно добавить новый тип Mime, такой как «text / html», чтобы обойти ограничение клиента и загрузить вредоносный HTML-документ
После добавления URL-адреса вредоносного документа в клиентскую переменную клиент шифрует содержимое файла с помощью функции encryptE2Media, а затем загружает его зашифрованным как BLOB на сервер WhatsApp
Более того, изменение имени и расширения документа и создание фальшивого предварительного просмотра путем изменения клиентских переменных сделает вредоносный документ более привлекательным для жертвы.
Это результат:
Как только жертва нажимает на файл, она увидит смешную кошку под объектом blob, которая является объектом html5 FileReader под web.whatsapp.com. Это означает, что хакер может получить доступ к ресурсам в браузере под web.whatsapp.com
Просто просмотрев страницу, не нажимая ни на что, данные локального хранилища жертвы будут отправлены хакеру, что позволит ему взять на себя его учетную запись.
Хакер создает функцию JavaScript, которая будет проверять каждые 2 секунды, если в бэкэнд будут новые данные, и заменить его локальное хранилище жертве.
Часть кода хакера:
Хакер будет перенаправлен на счет жертвы и сможет получить к нему доступ.
Веб-сайт WhatsApp не позволяет клиенту иметь более одного активного сеанса за один раз, поэтому после того, как хакер украдет учетную запись жертвы, жертва получит следующее сообщение:
Вы можете переделать этот код, добавив код JavaScript следующим образом:
Вредоносный HTML-файл, который заставит окно браузера клиента застревать и позволит хакеру управлять учетной записью без помех, хотя хакер будет подключен к учетной записи жертвы до тех пор, пока жертва не войдет в учетную запись. Закрытие браузера не приведет к выходу хакера из учетной записи, и хакер сможет войти в учетную запись пользователя столько, сколько захочет!