Твой почтовый ящик взломан! Марина Попкова Xakep, номер #063, стр. 063-064-1 URL-spoofing как средство взлома Ты никогда не думал, как хакеры могут выдирать пароли от почтовых ящиков? Как они получают к ним доступ? Задумывался ли ты о том, что хакеры могут выманить пароль у тебя самого, и при этом ты даже не заметишь, что что-то произошло? Нет? А такое вполне вероятно. Не веришь – читай дальше. Механизм авторизации на mail.ru Представь себе следующую ситуацию. Ты пользуешься бесплатной почтовой службой mail.ru и знаешь, что о безопасности твоего mail-box’a позаботятся грамотные админы этого сервиса. На всякий пожарный ты никогда нигде не сохраняешь пароль, чтобы случайный взломщик, захаксоривший твою тачку (не дай Бог, конечно), оказался в обломе. И вот однажды ты получаешь письмо от службы поддержки с просьбой пройти повторную авторизацию. Ничего не подозревая, ты в очередной раз логинишься на mail.ru и через некоторое время замечаешь, что твоей почтой кто-то рулит: читает твои письма и пишет всякие гадости от твоего имени. Как же такое могло произойти? Ведь ты поставил восьмисимвольный пароль 'j87$*#2l'! Итак, рассмотрим действия хакера, с помощью которых он сможет получить акцес к твоей почте. Сначала он заходит на mail.ru и сохраняет главную страницу к себе на хард. Потом регает где-нибудь сайт, заливает свежескачанную страницу себе на сервер. Представим, что взломщик порегал сайт http://mailru.nsd.ru. Теперь его пага – это копия mail.ru. Если залогиниться на этой странице, то логин с паролем перешлются на mail.ru, а мы попадем в свой почтовый ящик. Давай посмотрим, как же выглядит сама форма авторизации в виде html: HTML-форма <form name="Auth" method=post action=http://win.mail.ru/cgi-bin/auth> <input type=hidden name=Mpopl value=659612478> <input type=hidden name=login_from value=titul> <input type=checkbox name="level" value=1> <input type="text" name="Login" value="" size="12"> <select size="1" name="Domain"> <option value="mail.ru" >@mail.ru</option> <option value="inbox.ru">@inbox.ru</option> <option value="bk.ru" >@bk.ru</option> <option value="list.ru" >@list.ru</option> </select> <input size="14" type="password" name="Password" value=""> <input TYPE=submit name="" value="Войти"> </form> Мы видим, что данные, которые юзер введет в форму, отправляются методом POST скрипту http://win.mail.ru/cgi-bin/auth. А что произойдет, если он вдруг подставит туда URL своего скрипта? Например, что-нибудь вроде http://mailru.nsd.ru/cgi-bin/auth.cgi? Ясень пень, тогда логин и пароль перешлются не на mail.ru, а уже прямо скрипту хакера! Чуешь, чем это пахнет? Рассмотрим этот самый скрипт auth.cgi, которым воспользуется хакер для успешного приема логина и пароля от пользователя. Как он работает. Скрипт получает необходимые данные, сохраняет их в отдельный файл, а потом посылает юзера с его логином и паролем на настоящий сценарий авторизации (http://win.mail.ru/cgi-bin/auth). В итоге, пользователь, ничего не замечая, успешно попадает в свой почтовый ящик. Но фишка в том, что логин с паролем останутся у хакера! А вот сам исходник скрипта: |