Какую угрозу безопасности 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.
Я уверен, что что-то упустил, поэтому любые дальнейшие объяснения приветствуются.