Твой почтовый ящик взломан!

Марина Попкова

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). В итоге, пользователь, ничего не замечая, успешно попадает в свой почтовый ящик. Но фишка в том, что логин с паролем останутся у хакера! А вот сам исходник скрипта:

Содержание  Вперед на стр. 063-064-2
ttfb: 3.2148361206055 ms