Какова цель механизма безопасности позволенного хоста webpack-dev-server? - PullRequest
0 голосов
/ 01 мая 2019

Какую угрозу безопасности webpack-dev-server пытается снизить, применяя определенные значения заголовка Host?

По умолчанию webpack-dev-server разрешает только подключения, заголовок Host которых указывает локальный адрес обратной связи (localhost, 127.0.0.1 и т. Д.).Все остальные хосты получают такой ответ: «Недопустимый заголовок хоста».Но, конечно, конфигурация --allowed-hosts / allowedHosts позволяет расширить это ограничение.

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

curl -X GET -H "Host: http://0.0.0.0:9001/" http://me.internal.example.com:9001/

Так что мне любопытно - если allowedHosts не предотвращает соединения от curl или других пользовательских пользовательских агентов, какая проблема делаетэто решить?Кажется, он нацелен только на обычных пользователей, использующих обычные браузеры, чтобы защитить их от сайта, обслуживаемого не на том хосте.Но атака «человек посередине» может так же легко проксировать соединение и переопределить заголовок хоста.

Чтобы предотвратить атаки MITM, вы должны использовать https (с сертификатом, которому доверяет браузер).Но в этом случае сертификат, по-видимому, сам по себе смягчает атаку MITM.

Я уверен, что что-то упустил, поэтому любые дальнейшие объяснения приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...