Как Yahoo обрабатывает ввод, учитывая, что вы не можете изменить его интерфейс, чтобы повлиять на отправляемое электронное письмо? - PullRequest
1 голос
/ 17 июня 2020

Я проводил небольшое исследование электронной почты и считаю, что нашел интересную технологию, возможно, что-то очень мощное с точки зрения кибербезопасности.

Если вы откроете электронную почту Yahoo в Google Chrome и нажмете «Переслать», вы можете сделать это с помощью консоли javascript.

enter image description here

Вы получаете элемент по его имени класса или идентификатору и используете .click (), например, после того, как вы открыли электронное письмо, напишите это в своей консоли

let x = document.getElementsByClassName("r_P u_b C_Z2aVTcY b_0 P_0 M_0 H_6Nds A_6EqO y_Z2hYGcu I_T C4_Z29WjXl ir3_1JO2M7 it3_dBP")[2];
x.click();

Однако нет возможности добавить ваш ввод программно, и это заставляет меня задаться вопросом, как это вообще возможно.

enter image description here

На изображении выше вы можете нажать на параметр «Кому», и он будет работать. Однако НЕТ СПОСОБА установить ввод с консоли javascript в Google Chrome, а затем нажать кнопку «Отправить», потому что это просто не сработает. Не верите мне? Попытайся.

Я заметил, что один из входов имеет атрибут «значение», который изменяется на адрес электронной почты, который вы пишете, как показано на следующем рисунке

enter image description here

Я сделал все, чтобы установить правильный ввод, включая следующие команды:

let x = document.querySelectorAll('[id=message-to-field]')[0]
x.setAttribute("value","fakeemail@yahoo.com");

Электронная почта настроена правильно, однако, когда я нажимаю «Отправить», я получаю сообщение об ошибке, что адрес электронной почты не был установлен

enter image description here

Другие вещи, о которых я пытался упомянуть,

  • Настройте электронную почту с помощью ; в конце, например, fakeemail@yahoo.com;
  • x.value = "fakeemail@yahoo.com"; // this sets the internal value, not the value attribute
  • x.parentElement.innerText = "fakeemail@yahoo.com";

Теперь у меня есть два вопроса:

  1. Как это возможно с точки зрения технологии? Постоянно ли Yahoo контролирует ввод данных на стороне клиента и за какие расходы (например, ресурсы, время загрузки и т. Д. c.)?
  2. Если есть способ, как мы можем настроить ввод электронной почты с помощью Javascript консоль в гугле Chrome?
...