http://www.stackoverflow.com./ не работает, обратите внимание на конечную точку.
Bad Request - Invalid Hostname
HTTP Error 400. The request hostname is invalid.
Должны ли серверы быть настроены так, чтобы запрещать любые URL-адреса без конечной точки? (Без конечной точки они не являются полными доменными именами, согласно RFC, это относительные доменные имена.)
Не мог ли мошеннический DHCP-сервер протолкнуть клиентам путь поиска суффикса DNS и воспользоваться этим?
Если предположить, что нечестный DHCP-сервер смог запустить поисковый суффикс dns «evildomain.com», пользователь, перейдя на chase.com, затем перейдет на «chase.com.evildomain.com». Пользователь переходит на chase.com. (с конечной точкой, это полное доменное имя) не будет уязвим для этого эксплойта.
Практически каждый URL-адрес, который я вижу, опубликованный в средствах массовой информации, является относительным (поскольку конечная точка не является явной и становится истинным FQDN только после того, как конечная точка добавлена базовыми библиотеками).
Не должны ли мы в максимально возможной степени применять абсолютные доменные имена или полные доменные имена?
В Windows не может ли вредоносный веб-сервер просто изменить путь поиска суффикса DNS конечного пользователя? на ящиках * nix для обновления resolv.conf (где настроены суффиксы поиска dns) потребуется повышение привилегий, но будут ли пользователи nix по-прежнему уязвимы для сценария подмены DHCP?
Каждый раз, когда я настраиваю что-либо, что принимает доменное имя DNS, я включаю конечную точку. Некоторые системы отвергают это в своих попытках подтвердить ввод, что является позором. Клиенты Windows, которые полагаются на передачу DNS для обхода AD, могут вызвать проблемы, если у вас есть суффикс домена, состоящий из двух частей. MS задокументировала обходные пути.
Ссылка resolv.conf ... Эквивалентная конфигурация Windows также требует повышения привилегий для изменения.
Да, это уязвимость. Нетсерверы не должны прекращать предлагать контент при запросах с использованием относительных доменных имен в Интернете.
Попытка выяснить, является ли имя родственником в Интернете или просто родственником, не является проблемой с хорошим общим решением без сохранения состояния. Плохое решение без сохранения состояния - отменить использование всех относительных имен. Относительные имена существуют по уважительным причинам.
Следует позаботиться о том, чтобы использование полного доменного имени приводило к тому же содержимому, что и относительное доменное имя в Интернете. Это в основном проблема для http
серверы.
Если вы хотите быть усердным, но не раздражающим:
308
или 301
на ваших веб-серверах, чтобы направлять клиентов в правильном направлении.По умолчанию клиенты DNS сначала пробуют запросы, содержащие хотя бы одну точку в качестве полного доменного имени, прежде чем пробовать путь поиска.