1 заметка с тегом

security

DNS rebinding

Меня восторгает атака «DNS rebinding», вострогает своей простотой. Суть такова. Как известно, у страницы в браузере есть стотыщьмильёнов способов получить содержимое произвольного URL, но с одним условием — получить данные можно только с того же хоста, на том же порту и по тому же протоколу.

Хакер заманивает жертву на свой сайт — example.org, DNS этого сайта настроен так, что выдаёт то настоящий IP этого сайта, то 192.168.0.1. Страница обращается по URL на своём хосте, браузер проверяет — протокол, доменное имя, порт совпадает, разрещает запрос, но запрос попадает не на внешний сайт, а на адрес 192.168.0.1. В домашних сетях там, чаще всего, находится интерфейс роутера.

Дальше уже зависит от фантазии взломщника.

Защищиться от атаки очевидным способом (запретив запрос, если сменился IP) нельзя — есть масса сайтов (например, «Яндекс») снижающих нагрузку, распределяя пользователей по нескольким IP-адресам.

У IE есть такое понятие как «зоны безопасности», там локальные сайты выделены в отдельную зону. Мне кажется хорошим методом запрещать доступ по XHR/Flash/Java, если зоны у страницы, которая запрашивает и у URL, который запрашивается, различаются.