Независимый исследователь Рафай Балоч (Rafay Baloch) обнаружил баг, суммарно принесший ему $5000 по bug bounty программам Google и Mozilla. Исследователь рассказал, что подменить URL в адресной строке браузера можно просто использовав арабскую письменность или символы любого другого языка, в котором чтение и письменность осуществляются справа налево. http://cs8.pikabu.ru/post_img/2016/08/19/4/1471586263188153223.jpg В своем блоге Балоч пишет, что проблема очень проста и связана с тем, как браузеры обрабатывают ссылки, в которых сочетаются символы арабского языка или иврита (которые записываются и читаются справа налево), и обычная латиница, знаки и цифры. Некоторые браузеры в таком случае меняют части ссылок местами, создавая у пользователя иллюзию, что он находится совсем не на том сайте, который открыт в окне браузера. http://cs8.pikabu.ru/post_img/2016/08/19/4/1471586299183729348.png Исследователь приводит простой пример: 127.0.0.1/ا/http://example.com/. Из-за использования символа «ا» ссылка превратится в http://example.com//ا/127.0.0.1. Опасность заключается в том, что пользователь будет убежден, что находится на example.com, тогда как на самом деле в его браузере может открыться совсем другой сайт. Баг, найденный Балочем, это настоящий подарок для фишеров, которые могут встраивать такие ссылки в почтовый спам, SMS-сообщения и так далее. Когда пользователь кликнет по такой ссылке, в адресной строке браузера он увидит адрес легитимного домена, хотя на самом деле будет направлен на сервер злоумышленника. «Часть ссылки с IP-адресом очень легко спрятать, особенно в мобильных браузерах, достаточно создать ссылку подлиннее (например: google.com/fakepath/fakepath/fakepath/… /127.0.0.1), чтобы атака выглядела еще реалистичнее, — пишет исследователь. — Можно также использовать юникод-символ, изображающий замок, имитировав наличие SSL». Проблема затрагивает браузеры Firefox для Android (CVE-2016-5267) и Chrome, но в браузере Mozilla реализация атаки выглядела немного иначе. Для Firefox атакующий не обязательно должен был задействовать IP-адрес, здесь было достаточно использования арабских символов, к примеру, URL вида http://xn--ngbrx4e.xn--mgbaam7a8h/google.com/test/test/test превращается в google.com/test/test/test/عربي.امارات. http://cs4.pikabu.ru/post_img/2016/08/19/4/1471586340161991713.png http://В настоящий момент проблема устранена в Firefox для Android, а Google обещает представить исправление для Chrome в сентябре 2016 года. Однако исследователь пишет, что такой же баг присутствует и в других браузерах. Так как патчей еще нет, Балоч не раскрывает их названий. В настоящий момент проблема устранена в Firefox для Android, а Google обещает представить исправление для Chrome в сентябре 2016 года. Однако исследователь пишет, что такой же баг присутствует и в других браузерах. Так как патчей еще нет, Балоч не раскрывает их названий.