Экспертом по информационной безопасности Andris Atteka была обнаружена забавная бага обработки адресов в популярном браузере Google Chrome 45.0.2454.93.
В качестве уязвимой ссылки нужно дописать к произвольному адресу строку “%%300”, при открытии такой ссылки происходит аварийное завершение браузера.
Происходит это из-за следующей последовательности операций:
- Последовательность символов %%300 (я раскрашу по цветам) преобразуется следующим образом (%30 конвертируется в символ “0“, затем происходит слияние %30, которые снова преобразуются в 0), таким образом получается нулевой байт в конце.
- Указанный URL передаётся в функцию GURLToDatabaseURL(), которая в свою очередь передаёт этот адрес в функцию ReplaceComponents().
- В этот раз функция помечает строку как неправильную из-за нулевого байта в конце.
- Адрес возвращается по стеку вверх в функцию GURLToDatabaseURL(), где вызывается функция spec(), ожидая, что адрес корректный.
- Из-за неверного URL происходит обращение к DCHECK(), что приводит к аварийному завершению браузера.
Остаётся надеяться, что разработчики оперативно исправят эту ошибку, пока злоумышленники не начали рассылать неправильные ссылки с целью падения локальных браузеров.
Ссылка для проверки! БУДЬТЕ ОСТОРОЖНЫ! ДАЖЕ НАВЕДЕНИЕ УКАЗАТЕЛЯ МЫШИ МОЖЕТ ЗАВЕСИТЬ ВКЛАДКУ!
Ну как? Удалось?
Ну что, все у себя попробовали? Я да!
Сработало?
о да ) Хорошо, что вкладки можно восстанавливать при сбойном закрытии браузера
Надо же! Сработало!
Еще было что-то с отсылкой огромного количества символов в строку ввода адреса, но это для Android.