Материал просмотрен 247 раз(а)

Экспертом по информационной безопасности Andris Atteka была обнаружена забавная бага обработки адресов в популярном браузере Google Chrome 45.0.2454.93.

В качестве уязвимой ссылки нужно дописать к произвольному адресу строку “%%300”, при открытии такой ссылки происходит аварийное завершение браузера.

Ошибка

Ошибка

Происходит это из-за следующей последовательности операций:

  1. Последовательность символов %%300 (я раскрашу по цветам) преобразуется следующим образом (%30 конвертируется в символ “0“, затем происходит слияние %30, которые снова преобразуются в 0), таким образом получается нулевой байт в конце.
  2. Указанный URL передаётся в функцию GURLToDatabaseURL(), которая в свою очередь передаёт этот адрес в функцию ReplaceComponents().
  3. В этот раз функция помечает строку как неправильную из-за нулевого байта в конце.
  4. Адрес возвращается по стеку вверх в функцию GURLToDatabaseURL(), где вызывается функция spec(), ожидая, что адрес корректный.
  5. Из-за неверного URL происходит обращение к DCHECK(), что приводит к аварийному завершению браузера.

Остаётся надеяться, что разработчики оперативно исправят эту ошибку, пока злоумышленники не начали рассылать неправильные ссылки с целью падения локальных браузеров.

Ссылка для проверки! БУДЬТЕ ОСТОРОЖНЫ! ДАЖЕ НАВЕДЕНИЕ УКАЗАТЕЛЯ МЫШИ МОЖЕТ ЗАВЕСИТЬ ВКЛАДКУ!

Развернуть »

Ну как? Удалось?